100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > [CSS] 双飞翼布局和圣杯布局【HTML】

[CSS] 双飞翼布局和圣杯布局【HTML】

时间:2018-11-13 09:10:01

相关推荐

[CSS] 双飞翼布局和圣杯布局【HTML】

web前端|html教程

[CSS] 双飞翼布局和圣杯布局

web前端-html教程

前言

wap商城java源码,ubuntu vi多标签,安卓爬虫高级,php创建map,江苏seo总部lzw

在使用 CSS 进行布局的时候,我们通常会用到 div 布局和 float padding margin position 之类的CSS属性,使用不同的组合可以得出很多的布局方案。本篇介绍的是三栏布局方案中的双飞翼布局和圣杯布局,它们解决的问题是一样的:左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化。它们的实现方案在前半部分大同小异,不同之处是如何使中间部分的内容不被两侧遮挡。

社团管理系统源码下载,vscode左移,ubuntu手机驱动,tomcat博客,sqlite递归更新,阿里云服务器是主机吗,微信多图上传插件,前端md解析框架,爬虫遇到302,php数组去重的方法,北京优化seo,phpweb网站优化,网页特效 幻灯片,dz3.2 模板安装,jquery 页面实时刷新,人事管理系统 代码,wap时时彩程序源码lzw

准备阶段

易语言加壳免杀源码,vscode保存后自动格式化,ubuntu 网关设置,unix虚拟机安装tomcat,sqlite 转 txt,网页设计工程师培训,阿里轻云服务器,discuz付费插件破解版,.net前端后端框架,抖音爬虫签名,php体会,网络seo培训班,ios7风格网站,可关闭的网页左上角公告源码,phpcms仿100du模板,关于我们页面模板大气,c 车辆管理系统报告,如何查看vb中编写的程序有多少源程序量lzw

此部分属于双飞翼布局和圣杯布局实现方案的前半部分,实现原理是利用 float 和 negative margin 技术。可以按以下步骤进行:

按 middle left right 的顺序写出三个 div ,设置 left 和 right 固定宽度分别为 190px , 220px (可以给这三栏都加上 min-height ,让它们的初始高度一致。还可以给作为容器的 container 加上 min-width ,以避免窗口宽度缩小时,中间部分消失的问题)

给这三栏都加上 float: left

给 middle 加上 width: 100% ,这时候 left 和 right 会被挤下去

给 left 加上 margin-left: -100% ,拉到 middle 的左边

给 right 加上 margin-left: -220 px ,拉到 middle 的右边

在准备阶段完成后,中间部分的内容会被两侧遮挡到,接下来分别介绍两种布局对于该问题的解决方案。

解决方案

双飞翼布局

给 middle 加一层包裹 middle-wrap ,并设置其 margin: 0 220px 0 190px

以下是完整的代码实现:

双飞翼布局*{ margin: 0; padding: 0; }.middle, .left, .right{ float: left; min-height: 200px; }.middle{ width: 100%; background-color: green; }.middle-wrap{ margin: 0 220px 0 190px; }.left{ width: 190px; margin-left: -100%; background-color: red; }.right{ width: 220px; margin-left: -220px; background-color: blue; }.container{ min-width: 600px; }.header, .footer{ text-align: center; background-color: yellow; }.footer{ clear: both; } header

middle

left

right

footer

圣杯布局

给这三栏的容器 container 加上 padding: 0 220px 0 190px,这会使整个容器左右两边各留出 190px 和 220px 的 padding 。

对 left 和 right 设置相对定位 position: relative 和偏移量,从而将它们移动到左右两边的 padding 中。

以下是完整的代码实现:

圣杯布局*{ margin: 0; padding: 0; }.middle, .left, .right{ float: left; min-height: 200px; }.left, .right{ position: relative; }.middle{ width: 100%; background-color: green; }.left{ width: 190px; margin-left: -100%; left: -190px; background-color: red; }.right{ width: 220px; margin-left: -220px; right: -220px; background-color: blue; }.container{ padding: 0 220px 0 190px; min-width: 600px; }.header, .footer{ text-align: center; background-color: yellow; }.footer{ clear: both; } header middle left right footer

结论

两种布局都可以实现中间内容最先加载。

相比圣杯布局,双飞翼布局多创建了一个 div ,但不用相对定位。双飞翼布局兼容性很好,可以兼容到IE6。此处的圣杯布局经个人测试,可以兼容到IE8。

参考文章

CSS布局 — 圣杯布局 & 双飞翼布局

双飞翼布局介绍-始于淘宝UED

圣杯布局

CSS布局终极方案之–圣杯布局

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。