如何使用自定义下划线创建页眉

时间:2017-03-10 12:54:13

标签: html css

我正在尝试找到有创意的方法来制作页面标题,因为在我看来,典型的方法很无聊。

这是我发现的:

enter image description here

这两个分开的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

有人可以帮我重新创建吗?

感谢任何帮助。

5 个答案:

答案 0 :(得分:1)

这个怎么样:

放置一个带有底部边框的div,并将包含星形的范围设置为position:relative并将其向下移动到div上。

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:1)

您可以先创建h1元素span,其中包含星号。要添加行,您可以在:after上使用:beforespan个伪元素

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)

您可以为标题指定边框,然后将星形添加为伪元素并将其放置在边框的中心...

&#13;
&#13;
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;
&#13;
&#13;

答案 3 :(得分:0)

我使用hrhr::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;
}