如何让div成为兄弟元素的百分比

时间:2018-03-05 17:51:54

标签: html css css3

我正在尝试获取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;
&#13;
&#13;

3 个答案:

答案 0 :(得分:3)

你需要一些东西来包装那些不是全宽度元素的元素。我添加了div并将其设置为display: inline-block。如果您不想要额外的div,可以将该样式应用于header-wrap div(注意它会将div缩小到足够宽以包含它的内容)。

&#13;
&#13;
.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;
&#13;
&#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。做一个小调整,看看它是否适合你。

通过我的编辑,它可以像这样呈现:

enter image description here

希望我正确理解这个问题!