2014-01-20 1 views
0

Я не очень хорошо разбираюсь в CSS, может кто-нибудь сказать мне, как я могу переопределить стиль, чтобы ячейка, называемая «Существующие ценовые разрывы», сохранила ее левую границу? Точно так же один ниже будет делать то же самое, разделяя контент. Но остальная часть заголовка должна оставаться без них, как сейчас.Сохранять границы таблицы, предшествующие предыдущему стилю

Вот скрипка: http://jsfiddle.net/kacpr/YkL5j/2/

Это часть я хотел бы переопределить на уровне «клетка»:

.table > thead > tr > th, .table > thead > tr > td { 
    border: 0; 
} 
+1

использование 'important' _eg: _' граница:! 0 важно, ' –

+0

Почему кто-то должен использовать такой селектор? –

+0

@HashemQolami Возможно, вы должны спросить у Bootstrap людей. – cimmanon

ответ

1

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

.table > thead > tr > td:nth-child(4) { 
    border-left: 1px solid #ff0000; 
} 

http://jsfiddle.net/YkL5j/3/

Если вам нужна обратная совместимость браузера, то вам, возможно, потребуется присвоить класс выбранной ячейки: .existingPriceBreaks {}

Лучший способ для использования CSS селекторов могут быть:

.table tr td:nth-child(4) {} 
.table tr td.existingPriceBreaks {} 

. .. кроме того, что по какой-то причине вы планируете использовать вложенные таблицы ...

+0

спасибо. Я не уверен, как это работает, и что вы сказали о селекторах. Есть ли способ немного изменить его и закрыть границу в ячейке «Существующие ценовые разрывы»? Я хотел, чтобы он разделил строки рядом с ним, но был невидим в первой строке (так как в любом случае текста нет). – kacpr

+0

У вас есть 2 ряда (название прейскуранта, валюта, ассортимент продукции). Где вы хотите, чтобы граница начала и где заканчивалась? – Minister

+0

Это 3 ряда, не так ли? ;) И я хотел бы, чтобы это началось с Currency, следуйте в Product Range. – kacpr

1

Вы можете использовать класс, например leftBordered переопределить общие определения границ, как:

/* in html */ 
<tr> 
    <td>Currency</td> 
    <td style="font-weight: normal;">EUR</td> 
    <td></td> 
    <td colspan="2" class="leftBordered">Existing price breaks</td> 
    <td colspan="3">New price breaks</td> 
</tr> 
/* must be applied to all td-fields, that need to be changed */ 

/* in css */ 
table > thead > tr > td.leftBordered { 
    border-left: 1px solid #ccc; 
} 

см скрипку для работы примера здесь: http://jsfiddle.net/YkL5j/5/

+0

Вот что я в основном пробовал раньше, но, похоже, это не сработает. Если я не делаю что-то неправильно, то вы предложили следующее: http://jsfiddle.net/kacpr/YkL5j/4/ – kacpr

+0

@kacpr Это не работает из-за того, как вы использовали селектор CSS. Я добавил еще несколько объяснений в свой ответ, и я действительно рекомендую вам использовать простые селектора (например, предложенные ernd или «.table td.leftBordered»), не используя «>» прямого дочернего элемента в каждом правиле. В противном случае вы всегда должны перезапускать стиль с помощью селектора «>» ... (см. Рабочий пример) ... – Minister

+0

Я обновил свой ответ –

Смежные вопросы