CSS text-indent - удалить текст, но не добавленный контент, используя:after

Я использую ползунок, который не могу изменить текст навигации (следующий / предыдущий), но я хотел бы заменить текст стрелкой

Я добавил стрелки со следующим CSS:

#carousel .hero-carousel-nav .prev a:after {
 font-family: "Glyphicons Halflings";
 color:#FFF;
 content: "\e079";
}
#carousel .hero-carousel-nav .next:after {
 font-family: "Glyphicons Halflings";
 color:#FFF;
 content: "\e080";
}

Если я добавлю следующий CSS, стрелка и текст исчезнут

#carousel .hero-carousel-nav .prev a {
 text-indent:-9999px;
}

Я хочу сохранить стрелку, но удалить текст, это возможно?

HTML-структура для навигации:

<ul class="hero-carousel-nav">
    <li class="prev">
        <a href="#">
          Previous
        </a>
    </li>
</ul>

2 ответа

Решение

По умолчанию псевдоэлементом являются inline элемент и следовать text-indent, Если вы сделаете это, float или block boxe, это останется в поле зрения. Тогда вам все еще нужно сбросить на него text-indent в 0;это может быть тогда:

#carousel .hero-carousel-nav .next:after {
 font-family: "Glyphicons Halflings";
 color:#FFF;
 content: "\e080";
float:left;/* or display:block */
text-indent:0;
}

Вы можете попробовать что-то вроде этого: http://jsfiddle.net/sandro_paganotti/HupTL/

div{
    position: relative;
    text-indent: -9000px;
}
div:after{
    content: 'hi!';
    display: block;
    position: absolute;
    text-indent: 0;
    top:0;
    left:0;
    right:0;
    bottom:0;
}
Другие вопросы по тегам