2015-11-06 3 views
-1

Можно ли установить значение по умолчанию для свойства css, если наследование не определено? Например:css default if inherit not defined

.td { 
    font-size: 9px; 
} 
.link { 
    font-size: inherit; 
    color: inherit; 
    text-decoration: underline; 
} 

На

<td class=td> 
    <a class=link href="#">hello!!</a> 
</td> 

<a> наследует размер шрифта от .td.

Однако на

<td> 
    <a class=link href="#">hello!!</a> 
</td> 

<a> тега не имеет атрибута размера шрифта.

+1

Если это не определено, что, вероятно, будет наследоваться, если каскад не определяет иначе .... но не все наследуется. Непонятно, о чем вы спрашиваете. –

+0

, используя данный пример, я хочу, чтобы .link css применял тот же размер шрифта, что и родительский td, но если родительский td не имеет класса, то я бы хотел определить стиль по умолчанию. – fcaserio

+1

Вы можете просто определить '.link' с размером шрифта и' td .link' с другим, который изменит размер только при его в td, иначе он будет использовать значение по умолчанию. Это имеет специфику: '.link' менее специфичен, чем' td .link', поэтому 'td .link' будет предпочтительнее' .link', когда он вложен внутри 'td'. – somethinghere

ответ

0

Он подходит к specificity - тем более предпочтительным является правило. Таким образом, вы можете просто определить глобальное, а затем изменить его локально. Если правило не соответствует, оно не перезаписывается. Heres сниппет пример:

body { font-size: 20px; } 
 
div { font-size: 10px; }
<div><a href="#">Nested inside a div</a></div> 
 

 
<a href="#">Not nested</a>

div не более конкретных, но получает предпочтение, поскольку она определена позже. Просто убедитесь, что вы не определяете размер шрифта по умолчанию для ссылки, и он всегда наследует его от ближайшего действительного правила. Если вы хотите установить размер шрифта, вам придется добавить его в описание класса, как это:

div, div a { font-size: 10px; } 
+0

Возможно ли установить какой-то селектор, который указывает, что у родителя нет атрибута размера шрифта, чтобы использовать более общую таблицу стилей? td {no font-size}> .link {font-size: 9px; } – fcaserio

+0

@fcaserio Нет, theres isnt. Вы должны будете делать с каскадом! – somethinghere

+1

Хорошо, используя {font-size: 7pt; }, чтобы задать значение по умолчанию, решает вопрос. Иногда самое простое решение под рукой, и мы не понимаем. Помощь tks 4 – fcaserio