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>标签包含一组相关的内容,就像一本书中 ...
随机推荐
- python报错Could not open PYTHONSTARTUP
root@liqian-python:/pythonShare/monitor/m_server/core# pythonPython 2.7.10 (default, Oct 14 2015, 16 ...
- synchronized细节问题
一.synchronized有锁重入的特点,某个线程得到对象的锁后,再次请求此对象可以再次得到改对象的锁.如下示例,在method1中调用method2,在method2中调用method3,而met ...
- 关于微信端不支持window.location.reload()
今天写了一个调查问卷页面,项目经理说要表单提交之后页面刷新,之间没沟通清楚,以为整个页面重载,所以刚开始就用了window.location.reload()的方法. 但是发现,在微信直接打开之后,居 ...
- SuperSocket源码解析之开篇 (转)
一 简介 官方介绍:SuperSocket 是一个轻量级, 跨平台而且可扩展的 .Net/Mono Socket 服务器程序框架.你无须了解如何使用 Socket, 如何维护 Socket 连接和 S ...
- linux 安装Gauss09 GaussView
- scala正则表达式
正则表达式 Scala 通过 scala.util.matching 包种的 Regex 类来支持正则表达式 scala.util.matching.Regex.构造一个Regex对象, ...
- Oracle查询和解锁表
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不 ...
- linux环境vnc部署过程详解
vnc服务端机器地址:10.165.38.68 vnc客户端机器地址:本机(windows机器) vnc客户端包:vnc_82537_82537.rar (百度云盘下载地址:http://pan.ba ...
- Sass与Compress实战:第二章
1.使用变量 Sass使用$符号来标识变量,比如$highlight-color. 1.1声明变量 Sass声明变量和CSS声明属性很像: $highlight-color : #abcdef; 这意 ...
- java.util.Iterator
public interface Iterator<E>: 对 collection 进行迭代的迭代器. 方法摘要: boolean hasNext() 如果仍有元素可以迭代,则返回 tr ...