Как я могу настроить таргетинг на эти элементы CSS в таблице стилей? - PullRequest
1 голос
/ 02 июня 2009

Я работаю с меню DotNetNuke - что может быть неактуально, так как мой вопрос в основном касается синтаксиса CSS.

Каков синтаксис для создания стилей для класса, который выглядит ниже?

<tr class="mi mi0-0 id58 first">

Спасибо за любую помощь, высоко ценится!

Я пытаюсь нацелиться на строку внизу. Я пытался использовать. вместо пробелов в CSS, но по какой-то причине текст в строке таблицы, которую я хочу изменить, не меняется?

<span id="dnn_dnnNAV_ctldnnNAV" class="main_dnnmenu_bar" tabindex="0" style="-moz-user-select: none;">
<div id="dnn_dnnNAV_ctldnnNAVctr55" class="main_dnnmenu_rootitem mi mi0 id55 root first">
</div>
<table id="dnn_dnnNAV_ctldnnNAVsub55" class="main_dnnmenu_submenu m m0 mid55" cellspacing="0" cellpadding="0" border="0" style="position: absolute; top: 243px; left: 642px; clip: rect(auto, auto, auto, auto); display: none;">
<tbody>
<tr id="dnn_dnnNAV_ctldnnNAVctr58" class="mi mi0-0 id58 first">

Ответы [ 5 ]

6 голосов
/ 02 июня 2009

Все без пробелов:

.mi.mi0-0.id58.first {

}

4 голосов
/ 02 июня 2009

Элементы могут иметь несколько классов, и Sweet дал правильный способ нацеливания на этот элемент.
Тем не менее, вы можете настроить таргетинг на него, используя только подмножество его классов: я бы попробовал стилизовать .mi или .mi.first и, если возможно, игнорировать классы .mi0-0 и .id58 - они выглядят динамично и нарушат дизайн, если они меняются.

2 голосов
/ 02 июня 2009

Объединение их вместе не работает в IE6, если IIRC

1 голос
/ 02 июня 2009

Существует несколько способов нацеливания на эту линию.

Чтобы убедиться, что он не отменяется, вы должны указать как можно большую часть пути к элементу и убедиться (возможно, с помощью JS), что стили не применяются непосредственно к элементу.

(Также учтите, что ваш стиль удаляется Javascript во время выполнения)

Даже ie6 обрабатывает потомков, поэтому:

span table tr{ /*your styles*/ } will get all tr's in that setup.

так

span#dnn_dnnNAV_ctldnnNAVan table#dnn_dnnNAV_ctldnnNAVsub55 tbody tr.first

или

span#dnn_dnnNAV_ctldnnNAV.main_dnnmenu_bar table#dnn_dnnNAV_ctldnnNAVsub55.main_dnnmenu_submenu.m.m0.mid55 tr#dnn_dnnNAV_ctldnnNAVctr58.mi.mi0-0.id58.first

IE7 + обрабатывает дочерние элементы>, что более конкретно:

span#dnn_dnnNAV_ctldnnNAVan > table#dnn_dnnNAV_ctldnnNAVsub55 > tbody > tr.first

Вы можете также нацеливаться на другие вещи, кроме класса, если вам нужно: пролет [TabIndex = '0'] .....

Я думаю, что IE7 также обрабатывает первого ребенка, но вы должны это проверить.

1 голос
/ 02 июня 2009

Первое, что генерируется для вас, это html с встроенным CSS , и некоторые классы и идентификаторы CSS, я полагаю вы хотите настроить таргетинг на эти элементы из CSS,

  1. Вы можете настроить таргетинг на них, используя внешний CSS-файл, но встроенный стиль переопределит свойства, вставленные во встроенный файл.
  2. Вы также можете вставить Css в тот же файл.

для ссылки на элемент внутри Css вы можете использовать class или id

Для класса вы используете:

#main_dnnmenu_bar
{

    //enter Css properties here
}

и для идентификатора вы можете использовать:

.dnn_dnnNAV_ctldnnNAV
{

    //enter Css properties here
}

Для класса, использующего это: mi mi0-0 id58 first Вы можете сделать:

.mi{ enter code here  }
.first{ enter code here }

и если ваш элемент имеет те два свойства, на которые ссылаются классы, содержащиеся в них обоих, к нему будут применены, если применяется только одно, только эти свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...