2010-09-04 2 views
6

Может титул этот вопрос неоднозначен, что я действительно имею в виду:Сократите запятую CSS селекторы

#footer_list li a:link, #footer_list li a:visited 
{ 
    blah balh blah 
} 

Есть ярлык для двух элементов в CSS? поэтому селекторы CSS могут быть укорочены

ответ

4

Несомненно. Если вы дадите им свои собственные имена классов/идентификаторов. Но это не нужно. Код, который у вас есть, вполне приемлем, так как CSS is Каскадные таблицы стилей, правила каскада существенно по существу.

+1

всякий раз, когда я ввожу/вставляю что-то "redun dant «Я всегда думаю, что должен сделать это неправильно :( –

+0

Не только классы не нужны, но они не работают, поскольку они не могут заменить псевдоклассы. (Я просто даю дружескую экспансию на ваш ответ здесь.) – BoltClock

+2

@ Майкл Мао: Опрос вещей - хорошая черта. Но, не автоматически принимайте его неправильный путь. Если он работает, используйте его. * Это должно быть принято с солью * –

1

Ваш код в порядке, как есть. Я разрабатывал свои сайты с подобными селекторами, и это не беспокоило меня или браузеров.

Если ваш сервер работает рубин, и вы не возражаете, подбирая на стороне сервера «расширение» в стандартный синтаксис CSS, LESS обеспечивает вложенные правила, так что вы можете сделать что-то вроде этого:

#footer_list li { 
    a:link { 
     /* Styles for normal links */ 
    } 
    a:visited { 
     /* Styles for visited links */ 
    } 
} 

ОК, я не уверен, что разница это сделать, но я уверен, что он будет относиться по-разному браузерами:

#footer_list li a { 
    /* Styles */ 
} 

Вы можете разместить дополнительные a селекторов с классами или a:hover или a:active ниже, и они будут работать, когда это применимо.

+0

WOW! это то, чего я не знал ... Я проверю это на своем сервере хостинга и посмотрю, смогу ли я это сделать :) –

+1

@ Майкл Мао также http://sass-lang.com/ –

+0

@ Майкл Мао : Я снова обновил свой ответ. Посмотрите, работает ли для вас последний (МЕНЬ НЕ нужен) селектор. – BoltClock

0

У вас есть ссылки в пределах #footer_list, которые не входят в число li элементов? У вас есть другие списки в нижнем колонтитуле?

Я воображая вас есть что-то подобное в разметке:

<div id="footer"> 
    <p>&copy; me 2010</p> 
    <ul id="footer_list"> 
     <li><a href="/home">Home</a></li> 
     <li><a href="/contact">Contact</a></li> 
     <li>.... 
    </ul> 
    <p>Some other text...</p> 
</div> 

В этом случае ваше правило нужно только:

#footer a:link, #footer a:visited 

Если вы (или, возможно, позже) имеют ссылки за пределами ul, который вы хотите по-разному настроить:

#footer_list a:link, #footer_list a:visited 
Смежные вопросы