Я хотел бы поместить черную линию в левую и правую сторону заголовка, чтобы она выглядела так:
-------------------- Красивый текст ---------------------------
содержание bla bla blab содержание bla bla blab содержание bla
содержание bla bla blab содержание bla bla blab содержание bla
содержание bla bla blab содержание bla bla blab содержание bla
содержание bla bla blab содержание bla bla blab содержание bla
Надеюсь, вы знаете, что я имею в виду.
Какой лучший способ сделать это? Я могу добиться этого, предоставив h1 отрицательную верхнюю позицию и белый фон, установив содержимое div с черной рамкой сверху. Итак, заголовок (с белым фоном) накладывает мою черную границу.
Но я уверен, что там лучше, чем работать с отрицательным позиционированием.
http://fiddle.jshell.net/MF4WP/4/
http://fiddle.jshell.net/MF4WP/4/show
<h1><span>My heading has a line through it.</span></h1>
Требуется дополнительный интервал. Работает также с многострочными заголовками:
См. Пример здесь:
http://fiddle.jshell.net/aZ4tr/6/show
http://fiddle.jshell.net/aZ4tr/6/
h1 {
color: gray;
font-size: 0; /* fixes white-space issue SPAN */
font-family:Helvetica;
text-align: center;
display: block;
padding: 0 10px;
position: relative;
}
h1:before {
content: '';
height: 1px;
width: 100%;
background: gray;
position:absolute;
z-index: -1;
left: 0;
top: 50%;
margin-top: -1px;
}
h1 span {
background: #fff;
display: inline-block;
font-size: 28px;
}
вы можете использовать псевдоэлемент в абсолютной позиции и отрицательном поле: базовая одна строка:
http://codepen.io/gc-nomade/pen/FzjiD/
h1 {
margin:0 1em;
position:relative;/*here triggers overflow since no width is given */
overflow:hidden;
text-align:center;
}
h1:after , h1:before{
content:'';
margin-top:0.5em;
height:0;
border-top:groove 2px;
width:100%;
position:absolute;
margin-right:-100%;/* reduce size virtually to zero at 100% */
margin-left:1%;/* set margin from end text */
}
h1:before{
margin-left:-101%;/* reduce size virtually to zero at 100% + give margin from begin text */
}
Для многострочных линий:
http://codepen.io/gc-nomade/pen/uLynl/ вам нужно установить top
координаты, чтобы они находились в вертикальном положении; и оберните текст в встроенный ящик, чтобы не накладывать его. http://codepen.io/gc-nomade/pen/qhEro/
Я не уверен, что это лучший способ, но это, безусловно, простой способ добиться этого:
Код HTML:
<hr class="headingrule" /><span id="heading">text</span><hr class="headingrule" />
Код CSS:
.headingrule {
float: left;
width: 40%;
}
#heading {
float: left;
}