CSS3秘笈:第十三章
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秘笈:第十三章的更多相关文章
- CSS3秘笈:第九章
1.链接状态:大部分浏览器支持4中基本的链接状态:未访问的链接.已访问的链接.访问者的鼠标正悬停在上方的链接.正被单击的链接.这些状态的4个对应伪类选择器分别是:link.:visited.:hove ...
- CSS3秘笈:第一章
1.<div>和<span>标签: <div>和<span>标签:就像是一个空的容器,我们要往里面填充内容.一个div就是一个块,意味着它的前后都要空一 ...
- CSS3秘笈:第二章
1.一个样式由两个元素组成:浏览器对其设置格式的网页元素(选择器,selector)和实际的格式化指令(声明块,declaration block). 2.简单的样式也包含了以下几个元素: (1)Se ...
- CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章
第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮 ...
- CSS3秘笈:第十二章&第十三章
第十二章 1.网页布局类型 (1)固定宽度 (2)流式 (3)响应式Web设计 2.CSS布局的方法 通过给元素设置一个宽度,将它浮到左侧或右侧,就可以创建一个列(元素后面的文本会环绕浮动的元素,仿佛 ...
- CSS3秘笈第三版涵盖HTML5学习笔记13~17章
第13章,构建基于浮动的布局 使用的是float(浮动)属性 注:float:none值将取消所有浮动,通常只用来取消元素中已经应用的浮动. 切记:不需要给正文的div设计宽度,即使设计成固定宽度也不 ...
- CSS3秘笈第三版涵盖HTML5学习笔记9~12章
第9章,装饰网站导航 限制访问,处于隐私方面考虑,浏览器已经开始限制可以对伪类:visited应用哪些CSS属性了.其中包括对已访问过的链接定义color.background-color.borde ...
- CSS3秘笈第三版涵盖HTML5学习笔记6~8章
第二部分----CSS实用技术 第6章,文本格式化 指定备用字体: font-family:Arial,Helvetica,sans-serif; 当访问者没有安装第一种字体时,浏览器会在列表中继续往 ...
- CSS3秘笈第三版涵盖HTML5学习笔记1~5章
第一部分----CSS基础知识 第1章,CSS需要的HTML HTML越简单,对搜索引擎越友好 div是块级元素,span是行内元素 <section>标签包含一组相关的内容,就像一本书中 ...
随机推荐
- ZZNU 1993: cots' friends
题目描述 cot 最近非常喜欢数字, 喜欢到了什么程度呢, 已经走火入魔了.... cot把每个朋友编上一个序号,然后遇到谁就叫"XX号",对此,他的朋友们一致认为cot" ...
- Android 边框圆角
RelativeLayout 圆角实现: drawable目录下面定义shape的xml文件: mall_header_rel_bg.xml <?xml version="1.0&q ...
- 腾讯应用开发3006 : name lookup timed out 错误
昨天到今天发现应用访问不正常,用户发表数据很少,一查日志,QQ的 openApi 返回的结果全是 name lookup timed out,莫名其妙. 在服务器上 ping , nslookup , ...
- CSU 1333 Funny Car Racing
最短路问题稍微复杂了一点,松弛的时候多判断一些条件就可以了.第一次用SPFA写最短路. #include<cstdio> #include<cmath> #include< ...
- hdu1008
//c++// #includeusing namespace std;int main(){int n,j,t,start;while (cin >> n,n){start =0;t = ...
- RPC学习
之前有一篇文章,说了RPC的内容: http://www.cnblogs.com/charlesblc/p/6214391.html 如果有一种方式能让我们像调用本地服务一样调用远程服务,而让调用者对 ...
- count 数字计数(bzoj 1833)
Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包含一行两个整数a.b,含义如上所述. Output 输出文 ...
- js for...in 语句
原文链接:http://www.w3school.com.cn/js/js_loop_for_in.asp for...in 语句用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作). 实例 ...
- 如何在网页标题栏title加入logo图标?
打开某一个网页会在浏览器的标签栏处显示该网页的标题和图标,当网页被添加到收藏夹或者书签中时也会出现网页的图标,怎么在网页title左边显示网页的logo图标呢? 方法一(被动式): 制作一个ico格式 ...
- Java的I/O总结
概念:Java语言中数据流是接收和发送数据的管道.流是一位单项的. 流的分类: 按照字节字符:InputStream和OutputStream是字节输入输出流的抽象父类.Reader和Writer是字 ...