Я атаковал его с другой стороны, и теперь он делает то, что я хочу, с несколькими меньшими сальто назад.
Он по-прежнему удаляет десятичную дробь, поэтому конечный ноль не теряется в LEN ().
Я не сомневаюсь, что есть гораздо более элегантный способ сделать это.
Спасибо!
Если у вас есть такой HTML-код:
<html>
...
<body>
<div>
<div>
<div>
<div>
</body>
</html>
Вы можете применять стили только к div
это дочерний элемент элемента body
, использующий селектор дочерних элементов (>
) примерно так:
body > div { border:solid 1px orange; }
Вложенный элемент div не получит границы.
Для получения дополнительной информации, пожалуйста, посетите: http://www.w3.org/TR/CSS2/selector.html#child-selectors .
Обратите внимание, что Internet Explorer 6 не поддерживает дочерний селектор .
Да. Правило «таблица таблиц» переопределит правило «таблица», потому что оно более конкретно . То, что вы описали, - лучший способ иметь один стиль для самой внешней таблицы и другой стиль для внутренних таблиц - при условии, что ни одна таблица не имеет класса или идентификатора, которые позволили бы вам использовать больше семантических селекторов.
На практике вы более вероятно, что потребуется использовать эту технику со списками.
ol { list-style: upper-roman }
ol ol { list-style: upper-alpha }
ol ol ol { list-style: lower-roman }
ol ol ol ol { list-style: lower-alpha }
Добавьте класс или идентификатор во внешнюю таблицу:
<style type="text/css">
.outer {border: dashed 1px #333333;}
</style>
</head>
<body>
<table class="outer">
<tr><td>before inner table.
<table>
<tr>
<td>Inside inner table.</td>
</tr>
</table>
After inner table.
</td>
</tr>
</table>
</body>
Смотрите его здесь
Если вы невозможно добавить идентификаторы или классы в HTML, и если предположить, что таблица, которую вы хотите стилизовать, находится за пределами другой таблицы, вы можете стилизовать ее, указав, какой элемент является потомком:
div > table {border: dashed 1px #333333;}
Смотрите его здесь
Хотя этот селектор был реализован только в IE7, поэтому, если вам нужно поддерживать IE6, вам придется использовать метод переопределения из вопроса.
Я согласен с вашей первоначальной идеей об этом, однако, это зависит от обстоятельств.
Всегда создавайте базовое правило и добавляйте в таблицу стилей исключения из этого правила.
Например, если вы уверены, что таблица в таблице будет определенно никогда не нужно применять к нему тот же стиль, а затем использовать селектор «таблица таблиц», чтобы установить стиль. Однако, если это может произойти только один раз, установите класс в родительской таблице и измените ваш селектор «таблица таблиц» так, чтобы он соответствовал строкам «table.parent table».
Однако «родитель» должен быть заменен на описательное имя для элемента, например, календарь, как и есть.