У меня есть стиль ссылки, который добавляет стрелку SVG в конце ссылки, используя &::after. Проблема в том, что при изменении размера области просмотра бывают случаи, когда просто SVG разрывает строку. Как настроить так, чтобы SVG всегда разрывал строку последним словом в теге <a>?
.txtbtn {
font-size: 1.125rem;
line-height: 1.222222222;
letter-spacing: 2.57px;
color: orange;
text-decoration: none;
position: relative;
text-transform: uppercase;
}
.txtbtn::after {
position: relative;
top: 0;
display: inline-block;
margin-left: 12px;
width: 22px;
height: 15px;
content: "";
background: url('https://www.jea.com/cdn/images/svgs/right-arrow.svg') no-repeat center center;
background-size: contain;
}<p><a href = "#" class = "txtbtn">Lorem ipsum dolor sit amet, consectetur abittor.</a></p>Спасибо за помощь.






Вы можете просто обернуть свое последнее слово в <span>, затем установить этот диапазон, чтобы он содержал элемент puesdo и установить его на white-space: nowrap;
Нравится:
.txtbtn {
font-size: 1.125rem;
line-height: 1.222222222;
letter-spacing: 2.57px;
color: orange;
text-decoration: none;
position: relative;
text-transform: uppercase;
}
.txtbtn span::after {
position: relative;
top: 0;
display: inline-block;
margin-left: 12px;
width: 22px;
height: 15px;
content: "";
background: url('https://www.jea.com/cdn/images/svgs/right-arrow.svg') no-repeat center center;
background-size: contain;
}
.txtbtn span {
white-space: nowrap;
}<p><a href = "#" class = "txtbtn">Lorem ipsum dolor sit amet, consectetur <span>abittor.</span></a></p>Вы можете добавить отрицательное поле, равное размеру значка, и использовать заполнение родительского элемента, чтобы исправить это. Этот трюк позволит сделать перерыв, когда мы дойдем до первого слова, и, по логике, значок последует за ним.
Я также удалил margin-left и увеличил ширину, а затем скорректировал положение фона вправо.
p {
padding-right:22px;
}
.txtbtn {
font-size: 1.125rem;
line-height: 1.222222222;
letter-spacing: 2.57px;
color: orange;
text-decoration: none;
position: relative;
text-transform: uppercase;
}
.txtbtn::after {
position: relative;
top: 0;
display: inline-block;
margin-right:-32px;
width: 32px;
height: 15px;
content: "";
background: url('https://www.jea.com/cdn/images/svgs/right-arrow.svg') no-repeat right/contain;
}<p><a href = "#" class = "txtbtn">Lorem ipsum dolor sit amet, consectetur abittor.</a></p>