一个CSS-float布局问题
<style>
.b {
height: 100px;
width: 100px;
float: right;
border: red那个;
}
.c {
border: yellow那个;
}
</style>
<body class=a>
<div class=b></div>
<div class=c>假设这里有大量文字...</div>
</body>
加入有这么一段DOM和CSS,现在需要给a或c或b添加样式,达到类似于
这样的【c在左边填充满a剩下的宽度空间
并且不占据b下方的空间
】
请问可以有哪些方法呢(尽可能多,假设a占据了整个浏览器宽度)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
直接给C一个margin-right就可以了。
<style>
</style>
如果要尽可能多的解决方式,你这个问题其实就是一个两列右边固定宽度,左边自适应的问题。布局方式有浮动定位法,绝对定位法,margin负值法等,可以参考下我前段时间总结的三端布局,中间自适应的文章,应该会给你一些帮助:https://segmentfault.com/a/11...
给黄色一个 margin-right
可以通过 .c 元素创建 BFC 来实现。因为 div 的默认宽度是 100%,而且 BFC 元素不会与浮动元素重合,所以 .c 元素会占据剩余的空间。例子如下:http://codepen.io/zengkan0703...。
创建 BFC 的方法:
1.根元素本身
2.元素浮动(float属性不为none)
3.元素绝对定位(position属性为absolute或fixed)
4.display属性为inline-block、table-cell或table-caption(表格标题)
5.overflow属性值不为默认的visible
6.弹性盒子(display属性为flex或inline-flex)
请参考我写的这篇文章:
css实现左侧宽度自适应,右侧固定宽度,请耐心看完,对你绝对有帮助!
建议flex布局 阮一峰flex布局
c一个margin-top不能解决吗?
<html lang="en">
<head>
</head>
<body>
<div class="wrap">
</div>
</body>
</html>
<style>
</style>
可以看下圣杯布局
双飞翼布局
弹性布局