CSS! Нужно ли повторять одни и те же свойства для каждого состояния ссылки? (ссылка, посещение, зависание и т. д.)? - PullRequest
2 голосов
/ 24 октября 2009

Нужно или не рекомендуется повторять свойства, которые не меняются в каждом типе ссылки? Как это:

a:link {display: block; width: 50px;}
a:visited {display: block; width: 50px; color: #000;}
a:hover {display: block; width: 50px; color: #FFF}
a:active {display: block; width: 50px; color: #FFF}

Должен ли блок дисплея быть в каждом? Или это плохая практика? Кроме того, вы можете связать состояния связей? Как это:

a:hover, a:active {display: block; width: 50px; color: #FFF}

Кроме того, если у вас есть добавленный идентификатор / класс в ссылках, должны ли они сначала наследовать стили по умолчанию, а затем изменяться для конкретного идентификатора / класса? Как это:

a:link {display: block; width: 50px; color: #000;}
....(etc)
a.menu:link {color: #FFF;}
....(etc)

Получит ли ссылка .menu отображение и ширину из ссылки:, а затем просто изменит цвет?

СПАСИБО ТАКОЕ за любую помощь в прояснении всего этого!

Ответы [ 3 ]

2 голосов
/ 24 октября 2009

Нет необходимости повторять свойства, не уверен, что это «плохая практика» как таковая, но это определенно то, что вы могли бы оптимизировать.

Вы можете установить {display: block; width: 50px}, и это будет охватывать все состояния (если в другом месте не установлено другое значение. И да, вы также должны иметь возможность связывать состояния.

И вы совершенно правы: они наследуют стиль, назначенный типу элемента, но переменные id / class name будут иметь приоритет, если они установлены.

1 голос
/ 24 октября 2009

После ответа Бена:

a{ display:block; width: 50px }
a:hover, a:active{ color: #fff; }
a:visited{color: #000}
1 голос
/ 24 октября 2009

Вы можете связать состояния ссылок.

: ссылка и: посещенные являются основными определениями для ссылок. Заявления, сделанные на них, будут на каждой ссылке на странице, даже если ссылка имеет классы или идентификатор.

Сказал, что: hover и: active не нужно отображать: block, если вы объявили об этом по ссылке:

...