2011-02-20 2 views
4

Я использую li, чтобы показать список записей.Удалить последнее пограничное дно?

Каждый li имеет нижнюю границу: 1px сплошной черный;

но я не хочу показывать границу в конце ли?

пример:

.test li{ 
     height:1%; 
     overflow:hidden; 
     padding:4px 0; 
     margin:-1px 0 0; 
     border-bottom: 1px solid black; 
    } 

.test li.last { border-bottom: none; } 

<ul class="test"> 
    <li> Foo 1 </li> 
    <li> Foo 2 </li> 
    <li> Foo 3 </li> 
</ul> 

Foo 3 все еще показывает нижнюю границу.

+4

Вы не дадите последний LI класс 'last' –

ответ

14

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

.test li{ 
     height:1%; 
     overflow:hidden; 
     padding:4px 0; 
     margin:-1px 0 0; 
    } 

.test li + li { border-top: 1px solid black; } 
+0

Спасибо, что работает, но работает ли это? Что такое li + li? – user622378

+3

@user, http://www.w3.org/TR/CSS2/selector.html E + F: Соответствует любому элементу F, непосредственно предшествовавшему элементу сиблинга E. В этом случае он соответствует любому элементу, непосредственно предшествовавшему li , – jswolf19

3

Добавьте класс литиево последнего или если css3 приемлемо

ul.test> ли: последний-оф-типа { пограничную-дно: ни один }

15
.test li{ 
     height:1%; 
     overflow:hidden; 
     padding:4px 0; 
     margin:-1px 0 0; 
     border-bottom: 1px solid black; 
    } 

.test li:last-child { border-bottom: none; } 
3

вы можете использовать JQuery слишком

$('ul li:last-child').css('border-bottom', 'none'); 

Я предпочитаю этот способ, так как это означает, что вы прыгаете и сумасшедшие странные исключения в вашем css.

+0

: last-child - отличный вариант, так как он выбирает последний элемент для каждого родителя. Благодаря! –

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