CSS样式标题 - 背景必须仅涵盖具有底部边框的文本

use*_*774 6 html css

我试图像这样设计一个标题:

在此输入图像描述

但我需要一些帮助,因为我无法纠正它.

我计划使用渐变,但我必须只有标题的文本(带有一些填充)和背景颜色,渐变会在表格单元格中的特定点改变颜色.标题可以是不同的单词 - 有些长和短 - 所以背景颜色不能在特定点停止.我还需要将单元格的宽度加下划线(border-bottom).

我不确定我的HTML是否需要更改或我的CSS需要更改,还是两者都有,或者是否可以这样做.

我的HTML代码:

<div class="wrapper">
    <div class="row">
        <div class="heading">Heading</div>
    </div>
    <div class="row">
        <div class="stuff">Just some stuff.</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的CSS代码:

.wrapper {
    border-spacing: 0px 0px;
    display: table;
    width: 100%;
}

.row {
    display: table-row;
}
.heading {
    border-bottom: 2px solid red;
    background-color: lime;
    color: blue;
    direction: ltr;
    display: table-cell;
    font-weight: bold;
    min-height: 25px;
    overflow: hidden;
    padding: 2px;
    padding-left: 30px;
    padding-right: 30px;
    text-align: left;
    text-transform: uppercase;
    vertical-align: top;
}

.stuff {
    width: 100%;
    display: table-cell;
}
Run Code Online (Sandbox Code Playgroud)

Hen*_*Zhu 4

您应该调整标题的宽度以仅占据其内容的宽度。一个常见的技巧是简单地使用display: inline-block. 我改变了你的一些stylesmarkup来创建下边框效果。你的wrapperstuff类是多余的,所以我删除了它们。

JSFiddlehttp://jsfiddle.net/mkmeLzjL/11/

超文本标记语言

<div class="row">
    <div class="heading">Profile</div>
</div>
<br>
<div>
    <div>Just some stuff.</div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

@import url(http://fonts.googleapis.com/css?family=Open+Sans);

* {
    font-family: Open Sans;
}

.row {
    border-bottom: 2px solid black;
}

.heading {
    background-color: black;
    color: white;
    display: inline-block;
    font-weight: bold;
    padding: 7px 30px 7px 15px;
    font-size: 20px;
    text-transform: uppercase;
}
Run Code Online (Sandbox Code Playgroud)