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. 万恶的tileMap

    先吐槽下.. 本来,我们准备用tileMap来做地图的,但发现一个问题,就是tileMap层中不能添加cc.Sprite,这导致了tileMap只适合做2D平面没有遮挡的游戏,并且主角是不能有效率的进 ...

  2. CMA-连续内存分配

    CMA: Contignous Memory Allocator,连续内存分配,一般是分配给Camera,HDMI等使用,避免预留大块内存 1.声明连续内存 使用dma_contignous_rese ...

  3. jfinal获取服务器的IP和端口

    String serverIp = getRequest().getServerName(); Integer serverPort = getRequest().getServerPort();

  4. iis服务器上面使用百度编辑器ueidtor提示“找不到临时文件”需要给window/temp修改权限

    iis服务器上面使用百度编辑器ueidtor提示“找不到临时文件”需要给window/temp修改权限,修改php上传临时文件window/temp 给user用户组读取和写入的权限

  5. Mac下配置Maven环境变量

    Mac下配置Maven环境变量 1.先到Apache官网下载maven压缩包.下载地址:http://maven.apache.org/download.cgi 2.Maven是用Java开发的,所以 ...

  6. 《JavaScript高级程序设计》读书笔记 ---理解对象

    上一章曾经介绍过,创建自定义对象的最简单方式就是创建一个Object 的实例,然后再为它添加属性和方法,如下所示.var person = new Object();person.name = &qu ...

  7. 在Pythonanywhere上部署Django

    1 在github上创建一个仓库blog 2 克隆到本地,添加Django项目,再推送到github 3 克隆到pythonanywhere,以后每次更新用git pull即可 4 在pythonan ...

  8. SQL优化及注意事项

    1. 把数据.日志.索引放到不同的I/O设备上,增加读取速度.数据量(尺寸)越大,提高I/O越重要. 2. 纵向.横向分割表,减少表的尺寸,如:可以把大数据量的字段拆分表. 3. 根据查询条件,建立索 ...

  9. HDU 5758 Explorer Bo

    思维,树形$dp$. 首先选择一个度不为$0$的节点作为根节点,将树无根转有根. 这题的突破口就是要求瞬间移动的次数最少. 次数最少,必然是一个叶子节点走到另一个叶子节点,然后瞬间移动一次,再从一个叶 ...

  10. Java 泛型 协变性、逆变性

    Java 泛型 协变性.逆变性 @author ixenos 摘要:协变性.协变通配符.协变数组.协变返回值 协变性.逆变性和无关性 在面向对象的计算机程序语言中,经常涉及到类型之间的转换,例如从具体 ...