如何在我的h1标签之前和之后创建一条线?

时间:2012-01-27 13:19:57

标签: html css

我正在寻找一些解决方案,以便我能够制作出类似的东西:

-----------我的文字-------------- 在HTML / CSS中。所以我需要在文本之前和之后使用hr标记。

任何人都知道如何解决这个问题?

5 个答案:

答案 0 :(得分:5)

<!DOCTYPE html>
<html>
<head>
<title>Inline HR</title>
<style type="text/css">
div {
    text-align: center;
}

hr {
    display: inline-block;
    width: 40%;
}
</style>
</head>
<body>
<div style="center">
<hr>
My Text
<hr>
</div>
</body>
</html>

演示:http://jsfiddle.net/cKrqK/

但是,如果由于40%宽度而导致HR不会一直延伸到页面边缘而感到不满意,这就是解决问题的方法。

<!DOCTYPE html>
<html>
<head>
<title>Text on HR</title>
<style type="text/css">
.text {
    position: relative;
    top: -1em;
    text-align: center;
}

.text span {
    background-color: #ffffff;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0.5em;
    padding-right: 0.5em;
}
</style>
</head>
<body>
<hr>
<div class="text">
<span>
My text
</span>
</div>
</body>
</html>

演示:http://jsfiddle.net/EdtwL/

第二个示例,在HR上将文本放置为白色背景(将其更改为页面所具有的任何背景),并将其与margin-left: automargin-right: auto对齐。

答案 1 :(得分:2)

您可以创建一个图像,将其设置为重复,如下所示:

h1 {
background-image: url('line.png');
background-position: center center;
background-repeat: repeat-x;
text-align: center;
}
h1 span {
background-color: #FFF  //Or your website background color if not white

//UPDATE: to add padding around the text:
padding: 5px 10px;
}

然后在HTML中:

<h1><span>My text</span></h1>

答案 2 :(得分:0)

<!DOCTYPE html>
<html>
<head><title>Test</title>
<style type="text/css">
div{
    position:relative;
    height:10px;
    border-bottom:1px solid black;
}


span{
    position:absolute;
    left:50%;
    margin-left:-10px;
    background-color:white;
    padding:0px 10px 0px 10px;
}
</style>
</head>
<body>

<div>

<span>My Text</span>

</div>


</body>
</html>

答案 3 :(得分:0)

这样的东西?

h1:before {
    padding-right: 5px;
    content: "---------------------";
}
h1:after {
padding-left: 5px;
    content: "---------------------";
}

如果你真的想要一条线而不是破折号,那么我没有解决方案。

答案 4 :(得分:0)

这很简单!

h2 { text-align: center; /*optional*/ line-height: 2; background: #ccc; }
h2:before,
h2:after { padding: 1em; position: relative; top: -.4em; content: '__________________'; }

http://jsfiddle.net/xhj1poj0/