我正在尝试获取div,bar-grow
为其上方标题的width: 80%;
。现在,它占据父容器的80%宽度。我不确定我是如何改变它的,以便它按照我想要的方式工作。
有什么建议吗?
.header-wrap {
border: 1px solid black;
}
.header {
font-size: 2rem;
margin-bottom: 12px;
display: inline;
}
.bar-grow {
background: linear-gradient(to right, #BE1E2D, #BE1E2D) no-repeat;
background-size: 100% 7px;
transition: 1s;-webkit-transition: 1s;
margin-bottom: 50px;
height: 7px;
width: 80%;
}

<div class="header-wrap">
<p class="header">Structural Framing Solutions</p>
<div class="bar-grow"></div>
</div>
&#13;
答案 0 :(得分:3)
你需要一些东西来包装那些不是全宽度元素的元素。我添加了div
并将其设置为display: inline-block
。如果您不想要额外的div,可以将该样式应用于header-wrap
div(注意它会将div缩小到足够宽以包含它的内容)。
.header-wrap {
border: 1px solid black;
}
.header {
font-size: 2rem;
margin-bottom: 12px;
display: inline;
}
.header-width-constrainer {
display: inline-block;
}
.bar-grow {
background: linear-gradient(to right, #BE1E2D, #BE1E2D) no-repeat;
background-size: 100% 7px;
transition: 1s;-webkit-transition: 1s;
margin-bottom: 50px;
height: 7px;
width: 80%;
}
&#13;
<div class="header-wrap">
<div class="header-width-constrainer">
<p class="header">Structural Framing Solutions</p>
<div class="bar-grow"></div>
</div>
</div>
&#13;
答案 1 :(得分:2)
为什么不简单地将渐变移动到header
元素并轻松控制其大小:
.header-wrap {
border: 1px solid black;
}
.header {
font-size: 2rem;
margin-bottom: 52px;
padding-bottom:7px;
display: inline-block;
background: linear-gradient(to right, #BE1E2D, #BE1E2D) no-repeat;
background-size: 80% 7px;
background-position:0 100%;
}
<div class="header-wrap">
<p class="header">Structural Framing Solutions</p>
</div>
答案 2 :(得分:0)
我不认为有一种简单的方法可以让像“&#34; bar-grow&#34; 80%宽度的兄弟(文字,&#34;结构框架解决方案&#34;)......从技术上讲,该文本位于占据屏幕全宽100%的div内部,所以你的代码按预期工作。另一种方法是这样的:
.bar-grow {
background: linear-gradient(to right, #BE1E2D, #BE1E2D) no-repeat;
background-size: 100% 7px;
transition: 1s;-webkit-transition: 1s;
margin-bottom: 50px;
height: 7px;
width: 300px;
}
请注意我如何将80%宽度更改为300px宽度?
300px,大约是标题长度的80%。我用眼球选择300px。做一个小调整,看看它是否适合你。
通过我的编辑,它可以像这样呈现:
希望我正确理解这个问题!