-
普通布局
.wrap{ overflow: hidden; } .left, .middle, .right { float: left; } .left, .right { width: 200px; height: 200px; background-color: aqua; } .middle { width: calc(100% - (200px * 2)); height: 300px; background-color: antiquewhite; }<div class="wrap"> <div class="left"></div> <div class="middle"></div> <div class="right"></div> </div> -
圣杯布局
:root { --width: 200px; } .wrap { overflow: hidden; padding: 0 200px; } .left, .middle, .right { float: left; } .left, .right { position: relative; top: 0; width: var(--width); height: 200px; background-color: aqua; } .middle { width: 100%; height: 300px; background-color: antiquewhite; } .left { left: calc(0% - var(--width)); margin-left: -100%; } .right { right: calc(0% - var(--width)); margin-left: calc(0% - var(--width)); }<div class="wrap"> <div class="middle"></div> <div class="left"></div> <div class="right"></div> </div> -
双飞翼布局
:root{ --width: 200px; } .wrap { overflow: hidden; } .left, .middle, .right { float: left; } .left, .right { width: var(--width); height: 200px; background-color: aqua; } .middle { width: 100%; } .content{ margin: 0 var(--width); height: 300px; background-color: antiquewhite; } .left{ margin-left: -100%; } .right{ margin-left: calc(0% - var(--width)); }<div class="wrap"> <div class="middle"> <div class="content">中</div> </div> <div class="left">左</div> <div class="right">右</div> </div> -
弹性布局
* { margin: 0; padding: 0; } .app { display: flex; } .left, .right { flex-shrink: 0; width: 260px; } .left .inner, .right .inner { height: 200px; background-color: aqua; } .middle { flex: 1; order: 1; min-width: 1100px; } .middle .inner { height: 300px; background-color: bisque; } .right { order: 2; }<div class="app"> <div class="wrap middle"> <div class="inner">中</div> </div> <div class="wrap left"> <div class="inner">左</div> </div> <div class="wrap right"> <div class="inner">右</div> </div> </div> -
网格布局
* { margin: 0; padding: 0; } .app { overflow: hidden; display: grid; grid-template-columns: 260px 1fr 260px; grid-template-areas: "left middle right"; } .left .inner, .right .inner { height: 200px; background-color: aqua; } .middle { grid-area: middle; } .middle .inner { height: 300px; background-color: bisque; } .left { grid-area: left; } .right { grid-area: right; }<div class="app"> <div class="middle"> <div class="inner">中</div> </div> <div class="left"> <div class="inner">左</div> </div> <div class="right"> <div class="inner">右</div> </div> </div>