css - 在 CSS 中完成淘汰规则的最佳方法

标签 css

我收到了一个具有特定标题的设计,该标题的样式类型敲定了如下规则:

------ Text Content ------

这些年来我做过几次这样的事情,但我对我的解决方案从来都不满意。通常它涉及使用许多元素。由于这些是 header ,因此我希望尽可能保持标记精简。

这次我的第一个想法是使用盒子折叠对我有利:http://jsfiddle.net/cEcCL/

但是这里有一些问题:

  1. 这依赖于将 span 的背景设置为不透明的内容,以便删除该行。问题是其中大部分可能会出现在页面的上部,那里的渐变背景还没有淡化成纯色

  2. 实际上,在我制作 fiddle 之前我并没有意识到这一点 - 文本似乎稍微偏离了中心,不知道为什么会这样。

  3. 虽然它可能是可以管理的,但我担心垂直偏移的稳健性以使行居中于文本行框的中间位置。如果我的标题很长,达到 2 行怎么办?

有没有人有任何其他想法?

最佳答案

Here's a very quick example它使用单个 h2 和前后伪元素。

h2:before, h2:after {
    content:' '; display:inline-block;
    height:0; width:100px;
    border-top:1px solid black;
    vertical-align:middle;
    margin:0 1em
}

显然,有一些缺点:

  • 不支持 IE6/7
  • 就目前而言,您必须明确声明线条的宽度(但您可能会弄乱它)
  • 不能很好地处理多行,但同样,您可以编辑 h2 样式以使这项工作更好一些

关于css - 在 CSS 中完成淘汰规则的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7088433/

相关文章:

javascript - 根据可用空间在 div 旁边排列文本

css - 水平滚动 - 仅限 Mac Safari

css - 使底部薄片(弹出框)粘在按钮上( Angular Material )

html - 为什么列宽可以应用于 div 而不是按钮?

javascript - 隐藏后照片切换不可见

html - 被粘性页脚难住了 - 不会在预期的地方停止

html - CSS 2 上的边框半径属性

javascript - 在 JavaScript/jQuery 中,是否可以在滚动时跟踪页面上多个 HTML 元素的可见性?

jquery - 将光标定位在文本输入的左侧

javascript - 影响其他元素的 CSS3 过渡