文章标题
来源:互联网 发布:yy摇骰子软件 编辑:程序博客网 时间:2024/06/03 20:15
圣杯布局
效果:
html
<body><div class="container"> <div class="center">center</div> <div class="left">left</div> <div class="right">right</div></div></body>
css
<style type="text/css"> body{ margin:0; } .container{ padding:0 100px; } .center{ width:100%; background-color:pink; float:left; } .left,.right{ width:100px; background-color:blue; float:left; position:relative;top:0; } .left{ margin-left:-100%; left:-100px; } .right{ margin-left:-100px; right:-100px; }</style>
- 圣杯布局原理:
center,left,right均设置浮动(center在html中的位置必须在left和right的上面),由于center的width=100%,则必须给left,right设置负margin-left,才能使它们和center并排,margin-left的值分别为:-100%,-(right的宽度);
container设置padding-left和padding-right,为left,right留出位置;
由于container是它们的父元素,则设置了padding-left,padding-right对left,right元素同样作用,左右两边的空白依旧是空白,则需要给left,right设置相对定位,position:relative;其值分别为:left:-(left的宽度);right:-(right的宽度);
双飞翼布局
效果:
html
<body><div class="container"> <div class="center"> <div class="center_main">center</div> </div> <div class="left">left</div> <div class="right">right</div></div></body>
css
<style type="text/css"> body{ margin:0 auto; } .center{ width:100%; float:left; } .center_main{ margin:0 100px; background-color:pink; } .left,.right{ width:100px; background-color:blue; float:left; } .left{ margin-left:-100%; } .right{ margin-left:-100px; } </style>
- 双飞翼布局原理:
center,left,right均设置float:left;由于center的宽度为100%,left,right须设置负margin-left才可与center并排,margin-left的值分别为:-100%,-(right的宽度);
center宽度为100%,为了给left,right留出位置,则在center下建立一个子元素center_main,并设置margin:0 right的宽度 0 left的宽度;
圣杯布局和双飞翼布局的实现思路差异:
相同点:
圣杯布局和双飞翼布局解决问题的方案在前一半是相同的,也就是三栏全部float浮动,但左右两栏加上负margin让其跟中间栏div并排,以形成三栏布局。
不同点:
圣杯布局,为了中间div内容不被遮挡,将中间div设置了左右padding-left和padding-right后,将左右两个div用相对布局position:relative并分别配合right和left属性,以便左右两栏div移动后不遮挡中间div。
双飞翼布局,为了中间div内容不被遮挡,直接在中间div内部创建子div用于放置内容,在该子div里用margin-left和margin-right为左右两栏div留出位置。
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- js判断变量是否未定义的代码
- 文章标题
- IntelliJ new project
- 【c#】try...catch...finally
- 腾讯前端求职训练营第一天
- 文章标题
- (by王垠)如何掌握所有的程序语言
- 【c#】面向对象简介(构造、析构函数,静态构造函数、静态类)
- haproxy打印日志到rsyslog
- C++实现本地进程通信
- 打开网页就自动打开qq聊天的对话框的办法:使用iframe
- SQL Developer 远程连接 Oracle
- 【c#】接口、继承、多态、接口的多态
- 网络安全之MD5/SHA1