CSS一个子元素大小固定,另一个子元素宽度自适应占满父元素

方法一

  • 原理:对固定大小的子元素设为float,自适应的子元素通过margin避免两个元素的重叠,利用块级元素具有默认继承父元素宽度的特性
.child1{
    float: left;
    width: 200px;
    height: 200px;
    background-color: aqua;
}
.child2{
    height: 200px;
    margin-left: 200px;
    background-color: blue;
}

方法二

  • 原理:利用flex布局实现
.father{
    display: flex;
}
.children1{
   /* flex-shrink: 0; */    
    width: 200px;
    height: 200px;
    background-color: aqua;
}
.children2{
    height: 200px;
    flex-grow: 1;     //占满父元素剩余空间
    background-color: blue;
}

方法三

  • 原理:使用calc进行宽度计算
.a{
    float: left;
    width: 200px;
    height: 200px;
    background-color: aqua;
}
.b{
    /*cala运算符左右两侧要有空格 */
    width:calc(100% - 200px); 
    height: 200px;
    margin-left: 200px;
    background-color: blue;
}

PS:面试题常考实现百度搜索框,搜索图标大小固定,input宽度自适应铺满父元素。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS Flex布局给子元素设置灵活性和对齐方式的属性有多个选项。其中,可以使用`flex`属性来定义子项目在剩余空间中所的比例,值为一个非负数。例如,设置`flex: 1;`表示子项目将据剩余空间的比例为1份。 同时,可以使用`align-self`属性来控制单个子项目在侧轴上的对齐方式。比如,`align-self: flex-start;`将子项目置于容器顶部,而`align-self: flex-end;`将子项目置于容器底部。 此外,还可以使用`order`属性来定义子项目的排列顺序。默认情况下,子项目的`order`值为0,数值越小,排列越靠前。 综上所述,通过使用`flex`属性定义子项目据剩余空间的比例,使用`align-self`属性控制子项目在侧轴上的对齐方式,以及使用`order`属性定义子项目的排列顺序,可以对CSS Flex布局中的子元素进行灵活的设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [css flex 布局子元素撑大父元素导致页面布局错乱](https://blog.csdn.net/weixin_45499478/article/details/116809934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [CSS—flex 弹性布局(父/子元素的属性)](https://blog.csdn.net/keket1/article/details/125482491)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值