У меня следующие проблемы с использованием CSS для стилизации некоторых элементов dl
и dt
. Я предпочитаю всегда использовать очень простой CSS, который совместим с IE6 / IE7 и современными браузерами. Я пытаюсь получить эффект, который для меня должен быть довольно простым.
Вот урезанная версия исходного исходного кода, с которым я работаю, чтобы попытаться решить только эту проблему:
<!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 может быть решено только путем жесткого задания размера текста в пикселях и просто не позволяя им изменять его размер.