使用CSS設計某些dl
和dt
元素有以下問題。我更喜歡總是使用與IE6/IE7和現代瀏覽器兼容的非常基本的CSS。我試圖得到一個效果,對我來說應該是相當簡單的實現。使用CSS設計dl和dt以模仿類似表格的演示文稿
這裏是最初的源代碼,我有工作,去嘗試,只是這個問題上工作的一個精簡版:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<style type="text/css">
.terms dl {
float: left;
padding-left: 0px;
}
.terms dt, .terms dd {
text-align: center;
margin: 0px;
float: left;
}
.terms dt {
border: solid blue 1px;
clear: left;
}
.terms dd {
border: solid red 1px;
margin-right: 40px;
margin-left: 40px;
}
</style>
</head>
<body>
<div class="terms">
<h1>Terms</h1>
<dl>
<dt>Term 1:</dt>
<dd>Very Long definition for this term here</dd>
<dt>Term 2:</dt>
<dd>Definition for term</dd>
<dt>Term 3 with longer term title:</dt>
<dd>Definition for term</dd>
<dt>Term 4:</dt>
<dd>Definition for term</dd>
<dt>Term 5:</dt>
<dd>Definition for term</dd>
<dt>Term 6:</dt>
<dd>Definition for term</dd>
</dl>
<dl>
<dt>Term 7:</dt>
<dd>Defintion for term</dd>
<dt>Term 8:</dt>
<dd>Definition for term</dd>
<dt>Term 9:</dt>
<dd>Definition for term</dd>
<dt>Term 10:</dt>
<dd>Very Long definition for this term here</dd>
<dt>Term 11:</dt>
<dd>Definition for term</dd>
<dt>Term 12:</dt>
<dd>Definition for term</dd>
</dl>
</div>
</body>
</html>
這裏的視覺效果。我風格的藍色和紅色邊框,使其更容易顯現:
我的目標是讓所有的藍色和紅色的「盒子」,以具有相同的寬度無論文字大小集是什麼。例如。如果用戶有一個默認樣式表來使文本非常大,它應該相應地擴展。這個問題不僅出現在人們使用自己的樣式表時,它也出現在IE6中,當人們選擇「中等」以外的「文本大小」時 - 它使文本更大,我希望能夠適應這種情況。
我不認爲我想要在任何「盒子」上設置一個很寬的寬度,而且我不希望任何文本的包裝或浮動物掉下來,這兩個列樣式。
如果我不夠清楚,我可以編輯更多圖片和示例的答案。
此外,這是一個相關的,但單獨的問題。如果瀏覽器窗口重新調整大小,那麼當您減小寬度時,會希望表格的一部分不再可見。有了這個設置,你會看到一個非常奇怪和醜陋的結果,如下所示。這怎麼可以避免?
UPDATE
似乎沒有不涉及給予固定的寬度的的元素(和/或封裝元件)中的溶液。另外,似乎只能通過將文本設置爲像素大小並且不讓它們重新調整大小來解決IE6文本大小調整問題。
那你爲什麼不使用表格呢? – zgood 2012-03-08 14:25:39
語義目的,標記代表術語和定義的列表;不是表格數據。我想將標記的語義與風格分開。據我所知,這是'dl'元素和CSS的目的。 – user17753 2012-03-08 14:36:25
表格本身並不是邪惡的,不惜一切代價避免。它們適用於顯示,驚喜,表格數據 - 它看起來確實適用於這種情況。 – chris 2012-03-08 14:38:21