html - 之后以线为标题,有 2 种不同的尺寸

标签 html css

我正在尝试使用纯 CSS 和无图像实现以下目标:

How it should look like

如您所见,它是一个标题,后面有一行。问题是,这条线应该有 2 种不同的颜色,更重要的是,有 2 种不同的高度。

  • 第一部分颜色为橙色,高度为 3px,宽度固定为 100px(padding-left:15px)
  • 第二部分的颜色是#E1E1E1,应该填满该行的其余部分。

我的第一次尝试是这样的:

<h1><span>OUR ARTICLES</span></h1>
<style>
    h1 {
        overflow: hidden;
    }

    h1 span {
        display: inline-block;
        position: relative;
    }
    h1 span:after {
        content: "";
        position: absolute;
        height: 1px;
        top: 45%;
        width: 999px;
        background: #E1E1E1;
        border-left: 100px solid orange;
        left: 100%;
        margin-left: 15px;
    }
</style>

参见 http://jsfiddle.net/oyxmxoLs/

但是如你所见,我无法使橙色部分比灰色部分更厚。

有什么想法吗?

最佳答案

另一种方式:Flexbox

使用 display: flex,您不必为线条指定一定的宽度,并且可以确保它始终响应。

我们将采用渐进式增强方法。我们将在 IE8 之后通过使用 ::before 而不是 :before 进行削减。在 IE9 中,只会显示灰线(在标题下方)。

h1 {
  align-items: center;
  color: #444;
  display: flex;
  font: 18px/1.3 sans-serif;
  margin: 18px 15px;
  white-space: nowrap;
}

h1::before {
  background-color: orange;
  content: "";
  height: 4px;
  margin-left: 10px;
  order: 2;
  width: 100px;
}

h1::after {
  background-color: #E1E1E1;
  content: "";
  display: block;
  height: 2px;
  order: 3;
  width: 100%;
}
<h1>Our articles</h1>

不要忘记添加 vendor-prefixes !

关于html - 之后以线为标题,有 2 种不同的尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32327798/

相关文章:

html - 左对齐和居中对齐 div 中的元素?

html - 带有 HTML/CSS 导航错误的 PrimeFaces

html - 在一个 div 中制作背景图像 B/W

javascript - wow.js 仅在向上滚动时有效

javascript - 如何让 Javascript 停止从展开/折叠栏中删除我的填充

html - Tumblr 主题侧边栏和无限滚动?

javascript - 基于高度的 Angular 显示元素

javascript - div 高度和宽度在旋转木马 slider 中不固定

css - 如何让 css float 属性与四个 div 一起工作?

javascript - 为什么我的 jquery 幻灯片没有出现...?