1.float属性能把网页元素移到网页(或者其他外围快)的某一侧。出现在浮动元素之后的所有HTML都能在网页中上移,环绕在浮动元素的周围。

float属性接受以下3种不同的值:left(左)、right(右)和none(无)。假设要把一张图片移到网页的右侧,可以创建下面这个类样式,并把它应用到<img>标签上:

.floatRight  {  float:  right;  }

将该属性应用到一个装满内容的<div>标签上时,还可以创建一个侧边栏:

.sidebar  {

float:  left;

width:  170px;

(1)把每一列都包在一个带有ID或class属性的<div>标签里面。

(2)把侧边栏<div>浮到右侧或左侧。

(3)给浮动的侧边栏设定一个宽度。

(4)给正文添加一个left margin。

2.多种方法解决叛逆浮动元素。

(1)在外围div的底部添加一个清除元素。

(2)浮动外围元素。

(3)利用overflow:hidden。

(4)使用Micro Clear Fix。

3.CSS的box-sizing属性可以让Web浏览器用一种不同的模式来计算元素的实际屏幕宽度。它接受以下3个值之一:

(1)content-box值是浏览器正常的计算方式,即屏幕上元素的宽度为left/right border厚度、left/right padding以及CSS width属性值得总和。

box-sizing:content-box;

(2)padding-box值是让浏览器要包含left/right padding。换句话说,元素的显示宽度为CSS width以及left/right padding的总和。它不包括元素周围的任何border

box-sizing:padding-box;

(3)最后一个border-box属性,包含padding、border以及CSS的width。一般来说,这回是你想要使用的那一个。它使这个算术变得很简单,有助于防止float drop,当你使用基于百分比的宽度,并且给border宽度和padding使用基于pixel单位的时候,尤其如此:

box-sizing:border-box;

4.搭建HTML结构

(1)在文本编辑器中打开start.html文件,并单击HTML注释(<!--first sidebar goes here-->)后面的空行。

(2)给侧边栏添加一个开始的<aside>:  <aside class="sidebar1">.

(3)打开未见sidebar1.txt,复制所有的内容,然后回到start.html文件

(4)立即在你刚刚粘贴上的代码后面输入</aside>。

(5)把光标放在这个HTML注释(<!--main content goes here-->)后面的空行上,然后输入<article>标签后面。

(6)打开文件main.txt,复制所有的内容,返回start.html文件,然后把代码粘贴到刚创建的<article>标签后面。

5.创建布局样式

(1)在文本编辑器中,打开styles.css文件。

(2)将光标滚动到CSS文件的底部,你会看到一条CSS注释,写道:/*add tutirial styles below here */。在它下方添加以下样式:

.sidebarl  {

float: left;

width: 20%;

}

(3)保存HTML和CSS文件,并在Web浏览器中预览start.html文件。

(4)给第2个列创建一个样式:

.main  {

margin-left: 22%;

}

再添加一列

(1)打开文件sidebar2.txt。从文件中复制所有的HTML,然后返回start.html文件。

(2)在文件底部附近找到HTML的注释<!--  second sidebar goes here -->

(3)输入<aside class="sidebar2">,按回车键,然后粘贴在第1步中复制的HTML代码。

(4)在文本编辑器中打开styles.css文件。

(5)保存所有文件,并在Web浏览器中预览start。html文件。

(6)编辑.main样式,使它看起来像这样:

.main  {

float: left;

width: 60%;

}

(7)在.sidebar2样式的后面再添加一个样式:

footer  {

clear:both;

}

6.添加一些空间

(1)在.sidebar1、 .main和.sidebar2样式中添加padding,使样式像这样:

.sidebar1  {

float:  left;

width:  20%;

padding:  0  20px  0  10px;

}

.main  {

float:  left;

width:  60%;

padding:  0  20px  0  20px;

}

.sidebar2  {

float:  right;

width:  20%;

padding:  0  10px  0  20px;

}

(2)在样式表中再添加一个样式:

*  {

-moz-box-sizing:  border-box;

box-sizing:  border-box;

}

(3)在.main样式中添加一个left/right border,像这样:

.main  {

float:  left;

width:  60%;

padding:  0  20px;

border-left:  dashed  1px  rgb(153,153,153);

border-right: dashed  1px  rgb(153,153,153);

}

7.将流式布局和固定宽度设计混合

(1)在styles.css文件中,删除刚才创建的.pageWrapper样式。

(2)在styles.css文件中,再添加一个样式:

nav ul, header  h1, footer  p  {

max-width: 1200px;

margin:0  auto;

}

(3)在文本编辑器中打开start.html文件。

(4)向下滚动到HTML文件的底部。

(5)在群组选择器中添加新的类,像这样:

nav ul,  header  h1,  footer  p,  .contentWrapper  {

max-width:  1200px;

margin:  0  auto;

}

CSS3秘笈:第十三章的更多相关文章

  1. CSS3秘笈:第九章

    1.链接状态:大部分浏览器支持4中基本的链接状态:未访问的链接.已访问的链接.访问者的鼠标正悬停在上方的链接.正被单击的链接.这些状态的4个对应伪类选择器分别是:link.:visited.:hove ...

  2. CSS3秘笈:第一章

    1.<div>和<span>标签: <div>和<span>标签:就像是一个空的容器,我们要往里面填充内容.一个div就是一个块,意味着它的前后都要空一 ...

  3. CSS3秘笈:第二章

    1.一个样式由两个元素组成:浏览器对其设置格式的网页元素(选择器,selector)和实际的格式化指令(声明块,declaration block). 2.简单的样式也包含了以下几个元素: (1)Se ...

  4. CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章

    第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮 ...

  5. CSS3秘笈:第十二章&第十三章

    第十二章 1.网页布局类型 (1)固定宽度 (2)流式 (3)响应式Web设计 2.CSS布局的方法 通过给元素设置一个宽度,将它浮到左侧或右侧,就可以创建一个列(元素后面的文本会环绕浮动的元素,仿佛 ...

  6. CSS3秘笈第三版涵盖HTML5学习笔记13~17章

    第13章,构建基于浮动的布局 使用的是float(浮动)属性 注:float:none值将取消所有浮动,通常只用来取消元素中已经应用的浮动. 切记:不需要给正文的div设计宽度,即使设计成固定宽度也不 ...

  7. CSS3秘笈第三版涵盖HTML5学习笔记9~12章

    第9章,装饰网站导航 限制访问,处于隐私方面考虑,浏览器已经开始限制可以对伪类:visited应用哪些CSS属性了.其中包括对已访问过的链接定义color.background-color.borde ...

  8. CSS3秘笈第三版涵盖HTML5学习笔记6~8章

    第二部分----CSS实用技术 第6章,文本格式化 指定备用字体: font-family:Arial,Helvetica,sans-serif; 当访问者没有安装第一种字体时,浏览器会在列表中继续往 ...

  9. CSS3秘笈第三版涵盖HTML5学习笔记1~5章

    第一部分----CSS基础知识 第1章,CSS需要的HTML HTML越简单,对搜索引擎越友好 div是块级元素,span是行内元素 <section>标签包含一组相关的内容,就像一本书中 ...

随机推荐

  1. Hibernate之环境搭建

    开始之前,我想先理清一个概念,即ORM是什么? ORM介绍 全称:Object/Relation Mapping,即对象/关系映射. ORM也可以理解为一种规范,具体的ORM框架可作为应用程序和数据库 ...

  2. 关于function

    场景:让用户输入一个数字,程序由1+2....一直累加到用户输入的数字为止 #!/bin/bashPATH=$PATH:~/scriptexport PATH #chech whether the i ...

  3. Devstack single node Installation on VM

    Last three days, I want to install devstack on my virtual machine on Vmware Workstation.The VM'syste ...

  4. 闭包&装饰器详解

    闭包 先不着急看闭包的定义,让我们从一段示例代码开始.如果将上一个示例稍微修改下: >>> def outer(): ... x = 1 ... def inner(): ... p ...

  5. ZZNU 1995: cots' times

    题目描述 XX年XX月XX日小cot学会了回文数,eg:121. 小cot上课容易走神, 经常看看这个,瞧瞧那个.在小cot某一次走神的过程中他发现电子表上的时间也有回文数... 当然,并不是每次走神 ...

  6. 如何安装使用Impala

      一.Impala简介 Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL.除了像Hive使用相同的统一存储平台,Impala也使 ...

  7. L3-007. 天梯地图

    L3-007. 天梯地图 题目链接:https://www.patest.cn/contests/gplt/L3-007 Dijstra 这题是Dijstra的变形,麻烦的是两种最短路的相同距离时的选 ...

  8. python连接MongoDB

    1.安装pymongo库 windows下: pip install pymongo 或者 easy_install install pymongo 2.使用pymongo模块连接mongoDB数据库 ...

  9. 扩展KMP——算法总结,来自于 迷路的鸽子

    扩展kmp                 LRH 所谓扩展kmp指的是与kmp相似的求辅助数组的原理,但是本身与kmp关系不大. 1.exkmp的用途:给定一个主串s和一个子串t,求出s中每一个后缀 ...

  10. html 超链接(a)详细讲解

    a:link : http://www.cnblogs.com/yangfeng/archive/2009/07/25/1530962.html 超级链接 超级链接是网站中使用比较频繁的HTML元素, ...