CSS之圣杯布局与双飞翼布局
圣杯布局
三行等高
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="docm.css">
</head>
<body>
<div id="page">
<div id="hd"></div>
<div id="bd">
<div class="main">1231111<p>我我我</p><p>我我我</p><p>我我我</p><p>我我我</p></div>
<div class="sub">11222</div>
<div class="extra">456</div>
</div>
<div id="ft"></div>
</div>
</body>
</html>
css:(在.bd中设置内边距,然后在.sub和.extra中设置负边距把中间的内容显示出来)
*{
margin: 0;
padding: 0;
}
#hd{
width: 100%;
height: 100px;
background-color: #FC3D83;
}
.main {
float: left;
width: 100%; //中间内容自适应
background-color: #ccc;
padding-bottom: 9999px; //把内容撑出去后又收回来形成等高
margin-bottom: -9999px; //把内容撑出去后又收回来形成等高
}
.sub {
float: left;
width: 190px;
margin-left: -100%; //将内容设置到左边
background-color: #ED1E25;
padding-bottom: 9999px;
margin-bottom: -9999px;
position: relative; //设置相对位置来配放,而双飞翼不设置
left: -190px; //在.bd中设置内边距,然后在.sub和.extra中设置负边距把中间的内容显示出来
}
.extra {
float: left;
width: 190px;
margin-left: -190px; //将内容设置到右边
background-color: #f0f;
padding-bottom: 9999px;
margin-bottom: -9999px;
position: relative; //设置相对位置来配放,而双飞翼不设置
right: -190px; //在.bd中设置内边距,然后在.sub和.extra中设置负边距把中间的内容显示出来
}
#bd {
padding: 0 190px 0 190px; //在.bd中设置内边距,然后在.sub和.extra中设置负边距把中间的内容显示出来
background-color: #ff0;
overflow: hidden; //超出内容隐藏,等高的设置
}
#ft{
width: 100%;
height: 100px;
background-color: #5880F4;
}
效果如图:
---------------------------------------------分割线看什么看-------------------------------------------------------------
双飞翼布局
上面的圣杯布局其实已经挺好的,但是因为用了相对定位,所以对于布局就不太稳定,那么如何不用相对定位来实现这个效果呢,于是就有了双飞翼布局,在mian主要内容中加一个盒子包裹,再用margin-left使内容显示出来。
三行等高
HTML:
<div id="page">
<div id="hd"></div>
<div id="bd">
<div class="main"><div class="inside">1231111</div></div>
<div class="sub">234<p>我我我<p/><p>我我我<p/><p>我我我<p/><p>我我我<p/></div>
<div class="extra">456</div>
</div>
<div id="ft"></div>
</div>
CSS:
*{
margin: 0;
padding: 0;
}
#hd{
width: 100%;
height: 100px;
background-color: #FC3D83;
}
.main {
float: left;
width: 100%; //自适应
background-color: #ccc;
padding-bottom: 9999px; //把内容撑出去后又收回来形成等高
margin-bottom: -9999px; //把内容撑出去后又收回来形成等高
}
.sub {
float: left;
width: 190px;
margin-left: -100%;
background-color: #ED1E25;
padding-bottom: 9999px;
margin-bottom: -9999px;
}
.extra {
float: left;
width: 190px;
margin-left: -190px;
background-color: #f0f;
padding-bottom: 9999px;
margin-bottom: -9999px;
}
#bd {
background-color: #ff0;
overflow: hidden; //超出的内容隐藏
}
.inside{
margin: 0 190px; //中间最里的盒子设置外边距把内容显示出来
}
#ft{
width: 100%;
height: 200px;
background-color: #5880F4;
}
效果如图:
CSS之圣杯布局与双飞翼布局的更多相关文章
- CSS布局经典—圣杯布局与双飞翼布局
在我之前的博客网页整体布局完全剖析-剖完你不进来看一下么?中总结单列.两列.三列固宽与变宽布局,我还以为已经囊括了所有经典的网页布局方法了呢,当然除了CSS3的弹性盒模型没有涉及到,现在看来确实是自己 ...
- CSS经典布局-圣杯布局、双飞翼布局
圣杯布局的来历是2006年发在a list part上的这篇文章:In Search of the Holy Grail · An A List Apart Article圣杯是西方表达“渴求之物&q ...
- css布局笔记(三)圣杯布局,双飞翼布局
圣杯布局和双飞翼布局都是三列布局,两边定宽,中间自适应布局,中间栏要在放在文档流前面以优先渲染. 圣杯布局如下 <!-- 圣杯布局 --> <!DOCTYPE html> &l ...
- CSS | 圣杯布局、双飞翼布局 | 自适应三栏布局
圣杯布局和双飞翼布局是前端工程师需要日常掌握的重要布局方式.两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局 虽然两者的实现方法略有差异,不过都遵循了以下要点: 1.两侧宽度固定 ...
- css两栏布局、圣杯布局、双飞翼布局
最近几个月一直用vue在写手机端的项目,主要写业务逻辑,在js方面投入的时间和精力也比较多.这两天写页面明显感觉css布局方面的知识有不足,所以复习一下布局方法. 两栏布局 1.浮动 .box1 .l ...
- CSS布局之圣杯布局和双飞翼布局
其实圣杯布局和双飞翼布局实现的都是三栏布局,两边的盒子宽度固定,中间盒子自适应,也就是我们常说的固比固布局.它们实现的效果都是一样的,差别在于其实现的思想. 一.圣杯布局 html代码中,将重要的内容 ...
- CSS圣杯布局、双飞翼布局详解
三栏布局中,经典中的经典应该就是圣杯布局.双飞翼布局没跑了.双飞翼布局和圣杯布局其实是一样的,只不过在写法上有些不同,其布局都是左右固定宽度,中间宽度自适应. 先熟悉一下圣杯布局.双飞翼布局中的特点: ...
- CSS经典布局——圣杯布局与双飞翼布局
一.圣杯布局和双飞翼布局的目的 实现三栏布局,中间一栏最先加载和渲染 两侧内容固定,中间内容随着宽度自适应 一般用于PC网 二.圣杯布局的实现 技术要点: 设置最小宽度min-width 使用floa ...
- 中间自适应,左右定宽的两种经典布局 ---- 圣杯布局 VS 双飞翼布局
一.引子 最近学了些js框架,小有充实感,又深知如此节奏的前提需得基础扎实,于是回头想将原生CSS和Javascript回顾总结一番,先从CSS起,能集中它的就在基础的布局上,便查阅了相关资料,将布局 ...
- CSS_圣杯布局和双飞翼布局
参考: 圣杯布局的来历是2006年发在a list part上的这篇文章: http://alistapart.com/article/holygrail 双飞翼布局介绍-始于淘宝UED: http: ...
随机推荐
- OpenCV图像处理中常用函数汇总(2)
// 霍夫线变换 hough vector<Vec2f> lines;//定义一个矢量结构lines用于存放得到的线段矢量集合 HoughLines(dstImage,lines,,CV_ ...
- eclipse注释模板及格式化模板导入步骤
1.点击Window->Preference->Java -> Code Style -> Formatter 2.点击右侧Import选择*.xml模板文件导入即可 3.如果 ...
- Selenium WebDriver中一些鼠标和键盘事件的使用
转自:http://www.ithov.com/linux/133271.shtml 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击 ...
- java中重载、覆盖和隐藏三者的区别分析
重载:方法名相同,但参数不同的多个同名函数 注意:1.参数不同的意思是参数类型.参数个数.参数顺序至少有一个不同 2.返回值和异常以及访问修饰符,不能作为重载的条件(因为对于匿名调用,会出现歧义,eg ...
- 父类方法中的this
一直在用一些东西,却总是感觉有一些疑惑,今天发现了自己一个及其致命的意识错误.关于父类中this关键字到底是谁的问题.请看代码 父类Parent public class Parent { publi ...
- python编程技巧2
模块化 ---- 这是我们程序员梦寐以求的,通过模块化可以避免重复的制造轮子. 同时 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块 ...
- C++ GPU && CPU
#include <amp.h> #include <iostream> #include <winbase.h> //操作系统的底层文件 using namesp ...
- 1057 N的阶乘(大数运算)
题目链接:51nod 1057 N的阶乘 #include<cstdio> using namespace std; typedef long long ll; ; const int m ...
- guava学习--File1
ByteSource:表示一个可读的字节.通常情况下,我们期望的字节来源是一个文件,但它也可以从一个字节数组读取字节. File f1 = new File("D:\\test2.txt&q ...
- input框限制只能输入正整数,逻辑与和或运算
推荐下自己刚写的项目,请大家指正:童话之翼 有时需要限制文本框输入内容的类型,本节分享下正则表达式限制文本框只能输入数字.小数点.英文字母.汉字等代码. 例如,输入大于0的正整数 代码如下: < ...