【发布时间】:2013-11-04 02:56:57
【问题描述】:
我需要一个右侧有重笔划的 h2。像这样:
我正在努力寻找最佳、响应迅速的方式来完成它。更不用说它在自定义 WP 主题中,所以我不想创建大量页面标记,客户端会立即中断:)
【问题讨论】:
-
你为什么不尝试使用 div with (height:2px; widht: 70%; background: red; float:left;)
我需要一个右侧有重笔划的 h2。像这样:
我正在努力寻找最佳、响应迅速的方式来完成它。更不用说它在自定义 WP 主题中,所以我不想创建大量页面标记,客户端会立即中断:)
【问题讨论】:
这里有一个完全响应的解决方案。
HTML:
<h2 class="title">Who we are</h2>
<div class="red"> </div>
CSS:
.red{
background:#ff0000;
position:relative;
margin-top:-17px;
height:5px;
z-index:-1;
}
.title{
background:#ffffff;
display:inline;
padding-right:20px;
}
希望这会有所帮助。
PS:您可以相应地更改边距/填充以匹配您的需求以及媒体查询要求。
【讨论】:
ems 将与继承元素的% 值成正比,因此使用具有精确分辨率参数的媒体查询,px 和 em 中的值将略有变化。我同意在流体布局的情况下使用 ems,但在响应中,用户生成的分辨率控制应取决于 OP 如何执行它。感谢输入 - @techfoobar
display:inline; 不会产生任何怪异。 2.clear:both;清除什么?? - @bradmagnus
您需要的是单个元素和 :after 伪。 P.S 它是响应式的。
解释:这里,主要部分是在元素上使用overflow: hidden;,然后使用:after 伪和content 属性创建一个虚拟元素,并将其定位absolute 到父元素设置为relative
<h2>Hello World</h2>
h2 {
font-size: 20px;
font-family: Arial;
position: relative;
overflow: hidden;
}
h2:after {
display: inline-block;
content: "";
height: 4px;
background: #f00;
position: absolute;
width: 100%;
top: 50%;
margin-top: -2px;
margin-left: 10px;
}
【讨论】:
:after
:after 确实支持 IE8,它是 IE9 支持的 ::after :) 并且欢迎您从 IE9 及更高版本开始支持您的东西,否则您只会膨胀为 IE 编写支持样式的标记和 CSS