Задачка на смекалку:
Есть тег p такого вида
<p> <br/> Тут текст <br/> Ещё текст ... </p> и такого: <p> Тут текст <br/> Ещё текст ... </p> Задача - по возможности убить c помощью css тег <br/> (oтступ) в начале первой строки визуально; (не убивая <br/>, которые могут быть далее по тексту) Теги <p> как первого так и второго типа на странице расположены произвольно (как кол-во так и последовательность) |
p:first-line{
line-height:0;
}
|
а можно проще:
p br:first-child {
display: none;
}
|
EmperioAf,
1. Есть и теги <p> без <br> в первой строке 2. В псевдо элементе :first-line допустимы только изменения правил для правил font и line-height Проверка:
<!DOCTYPE html>
<html>
<head>
<style>
body{
margin:0;
padding:0;
}
p {
border:blue solid 1px;
}
p:first-line{
line-height:0;
}
</style>
</head>
<body>
<!-- Вариант-1 тега <p> -->
<p>
<br/>
Тут текст - 1 <br>
Еще текст
</p>
<!-- Вариант-2 тега <p> -->
<p>
Тут текст - 2 <br>
Еще текст
</p>
</body>
</html>
|
не понял, почему нельзя написать так:
p *:first-child {
display: none;
}
? |
EmperioAf,
Для второго тега <p> - убъётся перевод строки |
Deff,
:-?
<!DOCTYPE html>
<html>
<head><meta charset="utf-8">
<style>
body{
margin:0;
padding:0;
}
p {
border:blue solid 1px;
}
p > br{
display: none;
}
</style>
</head>
<body>
<p>
<br/>
Тут текст - 1
</p>
<p>
Тут текст - 2 <br>
Еще текст
</p>
</body>
</html>
|
Deff,
или надо так?
<!DOCTYPE html>
<html>
<head><meta charset="utf-8">
<style>
body{
margin:0;
padding:0;
}
p {
border:blue solid 1px;
}
p:first-of-type > br{
display: none;
}
</style>
</head>
<body>
<p>
<br/>
Тут текст - 1
</p>
<p>
Тут текст - 2 <br>
Еще текст
</p>
</body>
</html>
|
рони, поставил бы + (2-й твой) Если б мог
Но теги <p> (как Вариантов 1, так и 2) рандомно разбросаны по странице, хитрость не проходит |
Цитата:
|
| Часовой пояс GMT +3, время: 07:16. |