我正在寻找一些解决方案,以便我能够制作出类似的东西:
-----------我的文字-------------- 在HTML / CSS中。所以我需要在文本之前和之后使用hr标记。
任何人都知道如何解决这个问题?
答案 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>
但是,如果由于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>
第二个示例,在HR上将文本放置为白色背景(将其更改为页面所具有的任何背景),并将其与margin-left: auto
和margin-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: '__________________'; }