一、让设计居中

1、使用自动空白边让设计居中

 <style type="text/css">
body{
text-align:center;
min-width:760px;}
#wrapper{
width:720px;
margin:0 auto;
text-align:left;}
</style> <div id="wrapper"></div>

2、使用定位和负值空白边让设计居中

 <style type="text/css">

 #wrapper{
width:720px;
position:relative;
left:50%;
margin-left:-360px;/**不加这个的话会让容器的左边缘居中,所以对容器的左边应用一个负值的空白边,宽度等于容器宽度的一半儿。这会让容器移动他的宽度的一半,从而让他在屏幕上居中。*/}
</style> <div id="wrapper">
大家好大家大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好大家好好
</div>

二、基于浮动的布局

用CSS进行布局有几种不同的方式,包括绝对定位和使用负值空白边。使用浮动定位是相对容易的,因为,在基于浮动的布局中,只需要设置希望定位的元素的宽度,然后将他们向左或向右浮动。

因为浮动的元素不再占据文档流中的任何空间,他们就不再对包围他们的块框产生任何影响,为了解决这个问题,需要对布局中各个点上的浮动元素进行清理。常用的做法是,不对元素进行连续地浮动和清理,而是浮动几乎所有的东西,然后在整个文档的“战略点”比如页脚上进行一次胡两次清理。

1、两列的浮动布局

<style type="text/css">
<!-- /* Pretty Stuff
================================== */ /* Zero down margin and paddin on all elements */
* {
margin: 0;
padding: 0;
} body {
font: 62.5%/1.6 "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", Verdana, sans-serif;
background-color:#D4D4D4;
} h1 {
font-size: 2.4em;
font-weight: normal;
} h2 {
font-size: 2.0em;
font-weight: normal;
} p, li {
font-size: 1.4em;
} h1, h2, p {
margin: 1em 0;
} #branding h1 {
margin: 0;
} #wrapper {
background-color: #fff;
} #branding {
height: 50px;
background-color:#b0b0b0;
padding: 20px;
} #mainNav {
list-style: none;
background-color:#eee;
} #footer {
background-color:#b0b0b0;
padding: 1px 20px;
} /* The Core Technique
================================= */ body {
text-align: center;
min-width: 760px;
} #wrapper {
width: 720px;
margin: 0 auto;
text-align: left;
} #content {
width: 520px;
float: right;
} #mainNav {
width: 180px;
float: left;
} #footer {
clear: both;
} /* Add some padding
================================== */ #mainNav {
padding-top: 20px;
padding-bottom: 20px;
} #mainNav * {
padding-left: 20px;
padding-right: 20px;
} #mainNav * * {
padding-left: 0;
padding-right: 0;
} #content * {
padding-right: 20px;
} #content * * {
padding-right: 0;
} -->
</style> <body> <div id="wrapper">
<div id="branding">
<h1>Branding</h1>
</div> <div id="content">
<h1>Lorem ipsum dolor</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla.</p>
</div> <ul id="mainNav">
<li class="first"><a href="#">首页</a></li>
<li><a href="#">关于</a></li>
<li><a href="#">新闻</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">服务</a></li>
<li><a href="#">客户</a></li>
<li><a href="#">案例学习</a></li>
</ul> <div id="footer">
<p>Footer</p>
</div> </div> </body>

3、三列的浮动布局

与两列类似,不过要在内容区域中添加两个新的div,一个用于主内容,一个用于次要内容。

 <style type="text/css">

 /* Pretty Stuff
================================== */ /* Zero down margin and paddin on all elements */
* {
margin: 0;
padding: 0;
} body {
font: 62.5%/1.6 "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", Verdana, sans-serif;
background-color:#D4D4D4;
} h1 {
font-size: 2.4em;
font-weight: normal;
} h2 {
font-size: 2.0em;
font-weight: normal;
} p, li {
font-size: 1.4em;
} h1, h2, p {
margin: 1em 0;
} #wrapper {
background-color: #fff;
} #branding {
height: 50px;
background-color:#b0b0b0;
padding: 20px;
} #branding h1 {
margin: 0;
} #mainNav {
list-style: none;
background-color:#eee;
} #secondaryContent {
background-color:#eee;
} #secondaryContent h2 {
font-size: 1.6em;
margin: 0;
} #secondaryContent p {
font-size: 1.2em;
} #footer {
background-color:#b0b0b0;
padding: 1px 20px;
} /* The Core Technique
================================= */ body {
text-align: center;
min-width: 760px;
} #wrapper {
width: 720px;
margin: 0 auto;
text-align: left;
} #mainNav {
width: 180px;
float: left;
} #content {
width: 520px;
float: right;
} #mainContent {
width: 320px;
margin: 0;
float: left;
} #secondaryContent {
width: 180px;
display: inline; /* :KLUDGE: Fixes IE double margin float bug */
float: right;
} #footer {
clear: both;
} /* Add some padding
================================== */ #mainNav, #secondaryContent {
padding-top: 20px;
padding-bottom: 20px;
} #mainNav *, #secondaryContent * {
padding-left: 20px;
padding-right: 20px;
} #mainNav * *, #secondaryContent * * {
padding-left: 0;
padding-right: 0;
} </style> <body> <div id="wrapper">
<div id="branding">
<h1>Branding</h1>
</div> <div id="content">
<div id="mainContent">
<h1>学习</h1>
<p>前世之事,后事之师.</p>
</div> <div id="secondaryContent">
<h2>书山有路勤为径学海无涯苦作舟。</h2>
<p>若不是天高地远,又何必青山水长。</p>
</div> </div>
<ul id="mainNav">
<li class="first"><a href="#">首页</a></li>
<li><a href="#">关于</a></li>
<li><a href="#">新闻</a></li>
<li><a href="#">产品</a></li>
<li><a href="#">服务</a></li>
<li><a href="#">客户</a></li>
<li><a href="#">案例学习</a></li>
</ul> <div id="footer">
<p>Footer</p>
</div> </div> </body>

三、固定宽度、流体和弹性布局

1、流体布局

在使用流体布局时,尺寸是用百分比数而不是像素设置的,这使得流体布局能够相对于浏览器窗口进行伸缩。随着浏览器窗口的变动而变动,列边宽。相反,随着窗口变小,列的宽度减小。流体布局可以非常高效的使用空间,最好的流体布局甚至不会引起用户的注意。

但是,在窗口非常小的时候,行变得非常窄,很难阅读,所以有必要添加像素或em为单位的min-width从而防止布局变得太窄。

2、弹性布局

虽然流体布局可以充分利用可用空间,但是在大分辨率的显示器上行仍然会过长。让用户不舒服。相反,也是一样。

弹性布局相对于字号来设置元素的宽度,通过以em为单位设置宽度,可以确保在字号增加时对整个布局随之扩大。还可以将行长保持在可阅读的范围。但是在字号增大的时候回导致水平的横幅出现,为了防止这种情况的发生我们在主体标签上加上max-width:100%来控制。1em=10px;

3、弹性-流体混合布局

这种方式用em设置宽度,然后用百分数设置最大宽度。

【CSS系列】布局篇的更多相关文章

  1. 深入理解脚本化CSS系列第二篇——查询计算样式

    × 目录 [1]getComputedStyle [2]注意事项 [3]currentStyle[4]IE 前面的话 元素的渲染结果是多个CSS样式博弈后的最终结果,这也是CSS中的C(cascade ...

  2. 深入理解脚本化CSS系列第一篇——脚本化行内样式

    × 目录 [1]用法 [2]属性 [3]方法 前面的话 脚本化CSS,通俗点说,就是使用javascript来操作CSS.引入CSS有3种方式:外部样式,内部样式和行间样式.本文将主要介绍脚本化行间样 ...

  3. 深入css布局篇(3)完结 — margin问题与格式化上下文

    深入css布局(3) - margin问题与格式化上下文      在css知识体系中,除了css选择器,样式属性等基础知识外,css布局相关的知识才是css比较核心和重要的点.今天我们来深入学习一下 ...

  4. 深入css布局篇(2) — 定位与浮动

    深入css布局(2) - 定位与浮动      在css知识体系中,除了css选择器,样式属性等基础知识外,css布局相关的知识才是css比较核心和重要的点.今天我们来深入学习一下css布局相关的知识 ...

  5. 《手把手教你》系列技巧篇(十七)-java+ selenium自动化测试-元素定位大法之By css上卷(详细教程)

    1.简介 CSS定位方式和xpath定位方式基本相同,只是CSS定位表达式有其自己的格式.CSS定位方式拥有比xpath定位速度快,且比CSS稳定的特性.下面详细介绍CSS定位方式的使用方法.xpat ...

  6. 《手把手教你》系列技巧篇(十八)-java+ selenium自动化测试-元素定位大法之By css中卷(详细教程)

    1.简介 按计划今天宏哥继续讲解倚天剑-css的定位元素的方法:ID属性值定位.其他属性值定位和使用属性值的一部分定位(这个类似xpath的模糊定位). 2.常用定位方法(8种) (1)id(2)na ...

  7. 《手把手教你》系列技巧篇(十九)-java+ selenium自动化测试-元素定位大法之By css下卷(详细教程)

    1.简介 按计划今天宏哥继续讲解css的定位元素的方法.但是今天最后一种宏哥介绍给大家,了解就可以了,因为实际中很少用. 2.常用定位方法(8种) (1)id(2)name(3)class name( ...

  8. 深入理解脚本化CSS系列第六篇——脚本化伪元素的6种方法

    × 目录 [1]动态样式 [2]CSS类[3]setAttribute()[4]CSSRule对象添加[5]空样式覆盖[6]CSSRule对象删除 前面的话 我们可以通过计算样式来读取伪元素的样式信息 ...

  9. 前端进阶系列(二):css常见布局解决方案

    水平居中布局 margin+定宽 <div class="parent"> <div class="child">Demo</di ...

随机推荐

  1. linux/unix 段错误捕获_转

    转自:linux/unix 段错误捕获[续] 本文为“在C/C++中捕获段错误,打印出错的具体位置”的续篇,进一步解决涉及动态链接库的情况.   背景知识: ·linux/unix下动态链接库的基本原 ...

  2. Mac下面的SecureCRT(附破解方案) 更新到最新的7.2的破解方案

    继续更新到7.2的破解.只是升级了下secureCRT到7.2,方法还是不变 相信很多人升级到了7.2的SecureCRT之后原来的破解方案失效了,一直也有人问新的破解方案,发现了,不敢独享放上crt ...

  3. esayUI实践的一些体会

    1.如何在页面中使用 easy ui ? 引入 四个文件 <!-- 引入easy ui --> <link rel="stylesheet" type=" ...

  4. Javascript实现浏览器菜单命令

    每当我们看到别人网页上的打开.打印.前进.另存为.后退.关闭本窗口.禁用右键等实现浏览器命令的链接,而自己苦于不能实现时,是不是感到很遗憾?是不是也想实现?如果能在网页上能实现浏览器的命令,将是多么有 ...

  5. node.js执行shell命令

    nodejs功能强大且多样,不只是可以实现 服务器端 与 客户端 的实时通讯,另一个功能是用来执行shell命令 首先,引入子进程模块 var process = require('child_pro ...

  6. linux -- ubuntu dash bash

    终端:即所谓的命令行界面,又称命令终端,用户输入shell命令用的窗口,跟Windows里的DOS界面差不多. shell:意为“壳”,是操作系统与用户交互用的接口,在命令终端里可以使用shell.s ...

  7. Win10開始菜单打不开

    一.前言 自从用Win10之后(附上<我的Win10之旅>).用清理软件.总是深度清理,导致rt问题. 每次百度都是没用的解决方法: 今天,再一次清理(Wise Care 365 注冊表深 ...

  8. ASP.NET自带对象JSON字符串与实体类的转换

    关于JSON的更多介绍,请各位自行google了解!如果要我写的话,我也是去Google后copy!嘿嘿,一直以来很想学习json,大量的找资料和写demo,总算有点了解! 切入正题! 还是先封装一个 ...

  9. 51地图标注接口(EZMarker API)

    功能 在很多时候,您需要您的用户标出一个位置,比如:一个房地产网站,用户在登记新楼盘的时候,就需要在地图上标出这个楼盘的位置,这个时候就可以用到本接口. 地图标注接口(EZMarker API)是我要 ...

  10. 使用matlab批量处理图像后在指定文件夹存储

    使用matlab批量处理图像后在指定文件夹存储 clear;clc;close all; Files=dir('D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\*.jp ...