我正在尝试找到有创意的方法来制作页面标题,因为在我看来,典型的方法很无聊。
这是我发现的:
这两个分开的catch(Exception e)
元素之间是否有<hr />
?
我已经尝试但无法弄清楚如何做到这样它是动态的。如果<span class="glyphicon glyphicon-star></span>
长于约(在图片中),我不想调整css。
这就是我所拥有的:
HTML:
<h1>
CSS:
<div class="container">
<h1 class="text-center">About</h1>
<hr class="new-hr" />
<span class="glyphicon glyphicon-star"></span>
<hr class="new-hr"/>
</div>
我还创建了一个codepen。
有人可以帮我重新创建吗?
感谢任何帮助。
答案 0 :(得分:1)
这个怎么样:
放置一个带有底部边框的div
,并将包含星形的范围设置为position:relative并将其向下移动到div上。
body {background: #fff;}
.underline {
width: 100%;
border-bottom: 4px solid #000;
text-align: center;
position: relative;
}
.underline span {
position: relative;
top: 15px;
padding: 0 10px;
background: #fff;
font-size:25px;
}
&#13;
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="underline">
<span>
<i class="fa fa-star" aria-hidden="true"></i>
</span>
</div>
&#13;
答案 1 :(得分:1)
您可以先创建h1
元素span
,其中包含星号。要添加行,您可以在:after
上使用:before
和span
个伪元素
h1 {
font-size: 20px;
display: inline-flex;
flex-direction: column;
margin: 10px 35px;
}
h1 > span {
font-size: 20px;
display: flex;
align-items: center;
justify-content: center;
}
span:after, span:before {
content: '';
background: black;
height: 1px;
flex: 0 0 60%;
margin: 0 10px;
}
<h1>ABOUT<span>★</span></h1><br>
<h1>LOREM IPSUM<span>★</span></h1>
您也可以在Flexbox
使用position: absolute
定位伪元素的情况下执行此操作。
h1 {
font-size: 20px;
text-align: center;
margin: 10px 35px;
display: inline-block;
}
h1 > span {
font-size: 20px;
position: relative;
display: block;
}
span:after, span:before {
content: '';
background: black;
height: 1px;
width: 50%;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
span:before {
left: -15px;
}
span:after {
right: -15px;
}
<h1>ABOUT<span>★</span></h1><br>
<h1>LOREM IPSUM<span>★</span></h1>
答案 2 :(得分:0)
您可以为标题指定边框,然后将星形添加为伪元素并将其放置在边框的中心...
body {
background-color: lightgreen !important;
}
.border {
display: table;
margin: 10px auto;
border-bottom: 5px solid #FFF;
position: relative;
padding: 15px 20px;
color: #FFF;
text-transform: uppercase;
}
.border::after {
position: absolute;
font-family: "Glyphicons Halflings";
content: "\e006";
width: 28px;
left: 0;
right: 0;
bottom: -18px;
margin: auto;
font-size: 20px;
color: #FFF;
background: lightgreen;
padding: 5px;
}
&#13;
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
<h1 class="text-center border">About</h1>
</div>
&#13;
答案 3 :(得分:0)
我使用hr
,hr::after
和背景图片为KTSW广播电台(Uploading Files)做了类似的事情。
demo以及下面的嵌入式示例。
body {
background: white;
}
hr {
background: #ebebeb;
margin: 5rem 0;
position: initial;
margin: 2rem 0;
height: 1px;
border: 0px solid #fff;
}
hr:after {
background: url(http://txstate.edu/prospectiveflash/ktsw/boombox-hr.jpg) no-repeat top center;
content: "";
display: block;
height: 40px;
position: relative;
top: -20px;
background-size: 80px;
}
<div class="separator">
<hr>
</div>
答案 4 :(得分:0)
我不确定这是否是最佳方法,但这应该有效。
<div class="container">
<div class ="text-center">
<h1 class="text">About</h1>
<div class="icon">
<span class="glyphicon glyphicon-star"></span>
</div>
</div>
</div>
.text-center{
background: #6DD286;
padding: 1px 10px 10px;
color: #fff;
position: relative;
}
.text {
border-bottom: 3px solid #fff;
padding-bottom: 10px;
}
.icon {
background: #6DD286;
position: absolute;
bottom: 10px;
margin-left: 50%;
transform: translateX(-100%);
padding: 0 5px;
}