基础系列:布局解决方案【全屏布局】
定宽用px计算
设计图

思路一position
<!DOCTYPE html> <html> <head> <title></title> <style> html,body,.parent{height: 100%;overflow: hidden;} .top{ position: absolute;top:0; left: 0;right: 0;height: 100px; } .left{position: absolute;left: 0;top:100px; bottom:50px ; width: 200px;} .right{ position: absolute;overflow: outo; left: 200px;right: 0;top:100px;bottom: 50px; } .bottom{ position: absolute;left: 0; right: 0; height: 50px; } .right .inner{ min-height: 1000px; } </style> </head> <body> <div class="parent"> <div class="top">top</div> <div class="left">left</div> <div class="right"> <div class="inner">right</div> </div> <div class="bottom">bootom</div> </div> </body> </html>
参考:http://nec.netease.com/library/141027
思虑二flex
<!DOCTYPE html> <html> <head> <title></title> <style> html,body,.parent{height: 100%;overflow: hidden;} .parent{display:flex; flex-direction:column;} .top{ height: 100px; } .bottom{ height: 50px; } .middle{ flex:1;display: flex; } .left{width: 200px;} .right { flex:1;overflow: auto; } .right .inner{min-height: 1000px;} </style> </head> <body> <div class="parent"> <div class="top">top</div> <div class="middle"> <div class="left">left</div> <div class="right"> <div class="inner">right</div> </div> </div> <div class="bottom">bootom</div> </div> </body> </html>
定宽用百分比表示
- 设计图

思路一 position
<!DOCTYPE html> <html> <head> <title></title> <style> html,body,.parent{height: 100%;overflow: hidden;} .top{ position: absolute;top:0; left: 0;right: 0;height: 10%; } .left{position: absolute;left: 0;top:10%; bottom:5% ; width: 20%;} .right{ position: absolute;overflow: outo; left: 20%;right: 0;top:10%;bottom: 5%; } .bottom{ position: absolute;left: 0; right: 0; height: 5%; } .right .inner{ min-height: 1000px; } </style> </head> <body> <div class="parent"> <div class="top">top</div> <div class="left">left</div> <div class="right"> <div class="inner">right</div> </div> <div class="bottom">bootom</div> </div> </body> </html>
思路二flex
<!DOCTYPE html> <html> <head> <title></title> <style> html,body,.parent{height: 100%;overflow: hidden;} .parent{display:flex; flex-direction:column;} .top{ height: 10%; } .bottom{ height: 5%; } .middle{ flex:1;display: flex; } .left{width: 20%;} .right { flex:1;overflow: auto; } .right .inner{min-height: 1000px;} </style> </head> <body> <div class="parent"> <div class="top">top</div> <div class="middle"> <div class="left">left</div> <div class="right"> <div class="inner">right</div> </div> </div> <div class="bottom">bootom</div> </div> </body> </html>
自适应
思路— flex
- 把定宽的高度去掉就可以
<!DOCTYPE html> <html> <head> <title></title> <style> html,body,.parent{height: 100%;overflow: hidden;} .parent{display:flex; flex-direction:column;} .middle{ flex:1;display: flex; } .right { flex:1;overflow: auto; } .right .inner{min-height: 1000px;} </style> </head> <body> <div class="parent"> <div class="top">top</div> <div class="middle"> <div class="left">left</div> <div class="right"> <div class="inner">right</div> </div> </div> <div class="bottom">bootom</div> </div> </body> </html>

浙公网安备 33010602011771号