No *_*ick 6 html css border centering twitter-bootstrap
我想让底部边框更窄并且响应灵敏,同时保持文本居中。我怎样才能做到这一点?我尝试显式使用 width 属性,但这显然不起作用。
演示: https: //www.bootply.com/jEB0e4Ao61
h1 {
border-bottom: 1px solid orange;
padding-bottom: 5px;
width: 400px;
}Run Code Online (Sandbox Code Playgroud)
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container text-center features">
<h1>Features</h1><br>
</div>Run Code Online (Sandbox Code Playgroud)
你需要做两件事:
display:inline-block;width: auto从块元素更改为边框将调整为文本的宽度:
<h1>是一个block元素,它会自动拉伸到容器的 100% 宽度。将宽度设置为自动或百分比将应用于默认宽度,即 50% 将是容器宽度的 50%。
使用inline-block和 widthauto将使标题仅与标题本身一样宽,这意味着您不需要针对不同屏幕尺寸的媒体查询。这将使边框的宽度等于标题本身的宽度。
要使“下划线”延伸得比文本宽度更宽:
如果您希望标题两侧有额外的空间,可以使用填充来做到这一点。例如:
padding-left:20px; padding-right:20px;
Run Code Online (Sandbox Code Playgroud)
将在标题的两侧添加 20px,从而扩展元素宽度,同时还将两侧的底部边框扩展 20px。
工作演示:
padding-left:20px; padding-right:20px;
Run Code Online (Sandbox Code Playgroud)
h1 {
border-bottom: 1px solid orange;
display: inline-block;
width: auto;
text-align: center;
margin: auto;
padding: 0 20px 5px; /* this adds 20px to the sides, extending the border */
}Run Code Online (Sandbox Code Playgroud)