Вопрос

Я нашел учебное пособие в CSS3 Chanscrumb и сделал ему несколько редактиций (хотя у учебной пособии была одинаковая проблема), и обнаружила, что если хлебная кормлия пошла на новую строку, то она будет провалиться в результате несчастных случаев из-за него, используя переполнение: скрыто Чтобы скрыть псевдоэлементы ...

html

<ul class="crumb">
    <li><a href="#">Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
    <li><a href="#">..Crumbs</a></li>
</ul>
.

CSS

.crumb {
    list-style: none; 
    overflow: hidden;
    margin-bottom: 3px;
}
.crumb li {
    line-height: inherit;
}
.crumb li a {
    color: white;
    text-decoration: none; 
    padding: 0 0 0 20px;
    background: #777;
    position: relative; 
    display: block;
    float: left;
    border: solid 2px #777;
    font-size: 10px;
}
.crumb li a:after { 
    content: " "; 
    width: 0; 
    height: 0;
    line-height: 0;
    border-top:25px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 15px solid #777;
    position: absolute;
    top: 50%;
    margin-top: -25px; 
    left: 100%;
    z-index: 2; 
}   
.crumb li a:before { 
    content: " ";
    width: 0; 
    height: 0;
    line-height: 0;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 15px solid white;
    position: absolute;
    top: 50%;
    margin-top: -25px; 
    margin-left: 2px;
    left: 100%;
    z-index: 1;
}
.crumb li:first-child a {
    padding-left: 8px;
}
.crumb li a:hover { 
    border-color: black;
    background: black;
}
.crumb li a:hover:after { 
    border-left-color: black !important;
}
.crumb li:last-child a:hover:after { 
    border-left-color: #e67e22 !important;
}
.crumb li:last-child a:after { 
    border-left-color: #e67e22 !important;
}
.crumb li:last-child a {
    border-color: #e67e22;
    background: #e67e22; 
}
.

Вот скрипка ... http://jsfiddle.net/kggnb/40/

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

HTML предоставляется на сервере, лучшее решение, которое я могу подумать о том, что включает некоторые проверки перед его возможностью проверять, сколько элементов будет сгенерировано, а затем просто бросать любые переполненные в течение определенного размера экрана внутри Новый список и начать через каждый раз, когда он попадает в эту ширину.

Другая идея, с которым появился коллега, использовал изображение для очков, но я бы предпочел накопить исправление CSS, если это возможно.

Любые другие идеи / исправления?

спасибо.

Обновление - Извините, я уточню. Я не хочу, чтобы стрелки появились вообще, правильная версия панировщиков будет выглядеть так. http://jsfiddle.net/kggnb/49/net/kggnb/49/

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

Я мог бы использовать перекос, но тогда он не будет работать в IE8.

Это было полезно?

Решение

http://jsfiddle.net/kggnb/50/

Просто сделайте стрелку меньше, вот изменения:

.crumb li a:after { 
    ....
    border-top:9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 9px solid #777;
    ....
    top:-2px;
}   
.crumb li a:before { 
    ....
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 9px solid white;
    ....
    top:-2px;
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top