ฉันใช้เคล็ดลับการวางตำแหน่งนี้เล็กน้อยเพื่อให้ได้ผลลัพธ์ที่ซับซ้อน ฉันคิดว่าฉันเจอจุดบกพร่องในเบราว์เซอร์ webkit ซึ่งฉันพยายามทำความเข้าใจ
นี่คือมาร์กอัปง่ายๆ:
<table>
<tbody>
<tr>
<td>
<div>
<span class="cols-6"></span>
</div></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
and CSS:
*, *:after, *:before {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
table {
table-layout: fixed;
border-collapse: collapse;
width: 100%;
}
tr {
border: 1px solid #ddd;
}
td {
vertical-align: top;
padding: 0;
height: 100px;
border: solid #ddd;
border-width: 1px 0 0 0;
box-shadow: -1px 0px #ddd;
}
td div {
position: relative;
}
td div span.cols-6 {
position: absolute;
width: 600%;
height: 20px;
background: #ccc;
}
หากต้องการดูการดำเนินการนี้ ให้เปิด http://jsfiddle.net/JFxqt/14/ ใน โครเมียม.
ช่วงที่แสดงอยู่ในตำแหน่งที่แน่นอนภายในคอนเทนเนอร์แบบสัมพันธ์ เนื่องจากตารางใช้เค้าโครงคงที่ เซลล์ทั้งหมดจึงมีความกว้างคงที่ ดังนั้น เด็กจึงควรใช้ความกว้างเป็นเปอร์เซ็นต์ได้ ตารางมี 7 คอลัมน์ ในขณะที่ความกว้างของช่วงตั้งไว้ที่ 600% (เช่น 6 คอลัมน์ * 100%) ไม่สามารถครอบคลุมทั้ง 6 คอลัมน์ในเบราว์เซอร์ webkit Firefox และ IE แสดงผลอย่างครบถ้วนในคอลัมน์ที่ระบุทั้งหมด
ตามหลักการแล้ว การตั้งค่าความกว้างของช่วงเป็น 100% ควรแสดงผลทั่วทั้ง 1 คอลัมน์, 200% ทั่วทั้ง 2 คอลัมน์ และอื่นๆ
ใครมีความคิดหรือวิธีแก้ปัญหา?
.cols-1
,.cols-2
....cols-10
และอื่นๆ - person Marc Audet   schedule 22.04.2013