左定宽右自适应

<div class="box">
    <div class="left"></div>
    <div class="right"></div>
</div>
  1. flex布局
.box {
    width: 100%;
    height: 300px;
    border: 1px solid #ccc;
    display: flex;
}
.left {
    width: 200px;
    height: 100%;
    background-color: red;
}
.right {
    width: 100%;
    height: 100%;
    background-color:green;
    flex: 1;
}
  1. BFC模式
.box {
    width: 100%;
    height: 300px;
    border: 1px solid #ccc;
}
.left {
    width: 200px;
    height: 100%;
    background-color: red;
    float: left;
}
.right {
    overflow: hidden; /* 触发bfc */
    height: 100%;
    background-color:green;
}
  1. padding-left
.box {
    width: 100%;
    height: 300px;
    border: 1px solid #ccc;
}
.left {
    width: 200px;
    height: 100%;
    background-color: red;
    float: left;
}

.right {
    width: 100%;
    height: 100%;
    background-color:green;
    padding-left: 200px;
    box-sizing: border-box;
}
  1. margin-left
.box {
    width: 100%;
    height: 300px;
    border: 1px solid #ccc;
}
.left{
    float:left;
    width:200px;
    height:100%;
    background:red;
}
.right{
    height:100%;        
    background:green;
    margin-left:200px;
}
  1. grid
    .main{
      height: 200px;
      display: grid;
     /*分成两列*/
      grid-template-columns: minmax(200px, 25%) 1fr;
      /* 分成三列*/
      /* grid-template-columns: minmax(200px, 200px) 1fr minmax(200px, 400px);*/
    }

grid-template-columns指定页面分成两列。第一列的宽度是minmax(200px, 25%),即最小宽度为200px,最大宽度为总宽度的25%;第二列为1fr,即所有剩余宽度。

  1. calc()
.box {
    width: 100%;
    height: 300px;
    border: 1px solid #ccc;
}
.left{
    width:200px;
    height:100%;
    background:red;
    float: left;
}
.right{
    height:100%;        
    background:green;
    float: right;
    width: calc(100% - 200px);  
}
  1. table布局
.box {
    width: 100%;
    height: 300px;
    border: 1px solid #ccc;
    display: table;
}
.left{
    width:200px;
    height:100%;
    background:red;
    display: table-cell;
}
.right{
    height:100%;        
    background:green;
    display: table-cell;
}

左右定宽中间自适应

1. center在right之后
<div class="box">
    <div class="left">left</div>
    <div class="right">rigth</div>
    <div class="center">center</div>
</div>
.box {
    width: 100%;
    height: 100%;
}
.left {
    float: left;
    width: 200px;
    height: 100%;
    background-color: red;
}
.right {
    float: right;
    width: 200px;
    height: 100%;
    background-color: pink;
}
.center {
    height: 100%;
    background-color: green;
}
2. div顺序正常排列使用flex布局
<div class="box">
    <div class="left">left</div>
    <div class="center">center</div>
    <div class="right">rigth</div>
</div>
.box {
  display: flex;
}
.left,
right {
  width: 200px
}
.center {
  flex: 1;
}
3. grid布局
.main {
      height: 200px;
      display: grid;
      grid-template-columns: minmax(200px, 200px) 1fr minmax(200px, 400px);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,327评论 1 92
  • 要求: 左列定宽,右列自适应; 左右两列等高且自适应; 右列优先渲染; 对于第一点很好实现,实现的方法也不唯一。对...
    葶寳寳阅读 749评论 0 4
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 5,013评论 5 15
  • 2014年,许鞍华导演执导拍摄的电影黄金时代上映了。萧红一时之间大热起来,人们谈论她与表哥、萧军、端木等人的婚姻和...
    沈一默阅读 545评论 0 0
  • 说起来澳洲不得不买的特产,除去绵羊油,保健品,UGG之外,TimTam绝对是要排上号的! 到过澳洲的人应该都知道T...
    陪伴之声阅读 1,093评论 0 0

友情链接更多精彩内容