300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > css实现一侧固定宽度 另一侧宽度自适应

css实现一侧固定宽度 另一侧宽度自适应

时间:2022-06-16 04:39:17

相关推荐

css实现一侧固定宽度 另一侧宽度自适应

这里举的两个例子中,是以左侧为固定宽度,右侧为自适应的宽度。

要实现这样的效果,本质是要实现元素宽度的自适应,而元素宽度自适应有

1、使用行块级元素宽度默认继承父元素宽度,如div

2、设置块元素的宽度为父元素的100%

3、还有一个可能比较少了解的,就是对绝对定位的元素设置left:0和right:0就可以使得元素的宽度展开到父元素的宽度(如果元素的宽度未设置具体宽度)

4、flex弹性布局

如归要实现一侧的宽度自适应,上述中2显然不合适。

html部分的代码:

<div class="box"><div class="a">固定宽度的一侧</div><div class="b">自适应的一侧</div></div>

方法一:对固定宽度的元素设置float,自适应的一侧(块级元素)通过margin避免两元素的重叠,本质还是利用块级元素具有默认继承父元素宽度的特性。

.a{float: left;width: 200px;height: 200px;background-color: aqua;}.b{height: 200px;margin-left: 200px;background-color: blue;}

方法二:对自适应元素设置absolute定位,通过left: 0, right: 0对自适应元素进行宽度拉伸,再通过设置margin-left避免元素重叠

.box{position: relative;}.a{width: 200px;height: 200px;background-color: aqua;}.b{height: 200px;position: absolute;top: 0;right: 0;left: 0;margin-left: 200px;background-color: blue;}

方法三:flex布局

.box{display: flex;}.a{/* flex-shrink: 0; */ width: 200px;height: 200px;background-color: aqua;}.b{height: 200px;flex: 1;background-color: blue;}

当然,除了上述还有其它实现方法,比如通过计算属性设置自适应元素的宽度等,不过相对来说,方法一在代码的简洁性或兼容性上,都会更好些。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。