《CSS3实战》读书笔记 第2章 层叠样式表(CSS)
层叠样式表
本章将阐述CSS的基本规则。
解构CSS
所谓CSS,由选择器(selector)和声明块(declaration block)组成。再进一步细分,每个声明包括了属性和值。
selector:{
property:value;
}
内联还是外链?
大多时候显然是外链更高效。样式文件可以缓存到用户电脑,如果你一个网站用一套css,当用户访问同一个网站其它页面时,就不用再次加载样式。
然而,缓存对于开发者来说是个坏东西。在本地调试时,修改样式表之后可能无法马上看到变化这时应该通过ctrl+F5来强制刷新清空缓存。
内联样式
同在在head标记内建一个style标记,样式在里面写。在H5以前的规范中,style必须加上属性type="text/css",现在已经不作要求。如果head内还有javascript,需要把script标记放到样式的后面。
单个网页而言,内联样式相对较快,但是可维护性较差。
外链样式
外链样式起名随意,但是最好是相关的。全站的表单用同一套样式时,可以命名为form.css。
对于外链css还可以使用在线工具进行验证。http://jigsaw.w3.org/css-validator/
外链css必须关联。可以选择<link>标记也可以用@import来指向想要被引用的css,浏览器对此二者的解释并无区别。
link
h5的link调用格式为:
<link rel="stylesheet" href="css/styles.css">
xhtml的格式为:
<link type="texxt/css" rel="stylesheet" href="....."/>
h5省略了type="texxt/css"
通过@import调用:
<style>
@import url(css/style.css)/*路径加不加引号都可以*/
</style>
@import的不同之处:link语法属于html,而@import属于css语言,作为css语言,意味着你还可以在后面继续写其它css。这样一来,style内的css就是一个关联了其它样式的样式文件。可以认为是内联样式的一种变体。需要在网页加载之后才开始加载。最大的问题:不支持javascript控制DOM修改样式。
小结:有研究指出,在某些时候,采用@import方式引入的css会拖慢速度,因此建议只使用link。
两者都是外部引用CSS的方式,但是存在一定的区别:
第一个样式
比如说一个html5文档信息如下:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS:The Missing Manual -- Chapter 2</title>
</head>
<body>
<h1>CSS: The Missing Manual</h1>
<p>...(假文) </p>
<h2>标题2</h2>
<p>...(假文)</p>
<p>...(假文)</p>
<h2>Nisi Ut Aliquid </h2>
<p>...(假文)</p>
<p>...(假文)</p>
<address>
Copyright 2016, Dang Jingtao
</address>
</body>
</html>
行间样式
行间样式并非一无是处:比如邮件等明确要有的信息。
比如:
<h1 style="color:#666:font-size:3em;">
内联样式
<style>
/*格式化h1*/
h1{
color:#666;
font-size:3em;
margin-top:10px;
margin-left:80px;
}
/*格式化段落*/
p{
color:#616161;
line-height: 150%;
margin-top:10px;
margin-left: 80px;
}
</style>
外链css
在网页文件head元素中关联:
<link rel="stylesheet" href="styles.css">
在根目录下的styles.css文件写入CSS:
/*格式化页面*/
html{
/*上内间距25px*/
padding-top:25px;
background-image:url(images/bg_page.png);
}
body{
width: 80%;
padding:20px;
margin:0 auto;
box-shadow: 10px 10px 10px rgba(0,0,0,.5);
background-color: #e1edeb;
}
/*格式化h1*/
h1{
font-family: 'Gravitas One','Arial Black',serif;
font-weight: normal;
color:#666;
font-size:3em;
margin-top:10px;
margin-left:80px;
}
/*格式化段落*/
p{
color:#616161;
line-height: 150%;
margin-top:10px;
margin-left: 80px;
}
初步效果如下:

对于用户的系统字体不满意的话可以采用谷歌字体:
<link rel="stylesheet" href="http://fonts.googleleaps.com/css?family=Gravitas+One">
根据同样的机制,可以给文档加上更丰富的样式(字体,色彩,边距)
html {
padding-top: 25px;
background-image: url(images/bg_page.png);
}
body {
width: 80%;
padding: 20px;
box-shadow: 10px 10px 10px rgba(0,0,0,.5);
margin: 0 auto;
background-color: #E1EDEB;
}
h1 {
color: #666666;
font-size: 3em;
font-family: 'Gravitas One', 'Arial Black', serif;
font-weight: normal;
margin: 0;
}
p {
font-family: "Palatino Linotype", Baskerville, serif;
color: #616161;
line-height: 150%;
margin-top: 10px;
margin-left: 60px;
}
h2 {
color: #B1967C;
font-family: 'Gravitas One', 'Arial Black', serif;
font-weight: normal;
font-size: 2.2em;
border-bottom: 2px white solid;
background: url(images/head-icon.png) no-repeat 10px 10px;
padding: 0 0 2px 60px;
margin: 0;
}
.intro {
color: #6A94CC;
font-family: Arial, Helvetica, sans-serif;
font-size: 1.2em;
margin-left: 0;
margin-bottom: 25px;
}
最后效果:(在线字体引用失败时可翻墙试试)

技巧总结:
- 响应式居中可以直接用body百分比宽度,居中实现,可以加阴影。html文档的背景可以实现网页背景纹理,不需要body上做文章。
《CSS3实战》读书笔记 第2章 层叠样式表(CSS)的更多相关文章
- Spring3.x企业开发应用实战读书笔记 —— 第三章IoC容器概述
声明: 本篇博客绝大多数内容为<Spring3.x企业开发应用实战>一书原内容,所有版权归原书作者所有!,仅供学习参考,勿作他用! 3.2 相关Java基础知识 Java语言允许通过 ...
- jQuery 实战读书笔记之第二章:选择元素
基本选择器 html 代码如下,后面的 js 使用的 html 基本大同小异. <!doctype html> <html> <head> <title> ...
- Spring AOP (Spring 3.x 企业应用开发实战读书笔记第六章)
从面相对象编程到面相切面编程,是一种代码组织方式的进化. 每一代的代码组织方式,其实是为了解决当时面对的问题.比如写编译器和写操作系统的时候的年代当然要pop,比如写界面的时候当然要oop,因为界面这 ...
- 机器学习实战 - 读书笔记(13) - 利用PCA来简化数据
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. ...
- 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...
- 机器学习实战 - 读书笔记(11) - 使用Apriori算法进行关联分析
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第11章 - 使用Apriori算法进行关联分析. 基本概念 关联分析(associat ...
- 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是, ...
- iPhone与iPad开发实战读书笔记
iPhone开发一些读书笔记 手机应用分类1.教育工具2.生活工具3.社交应用4.定位工具5.游戏6.报纸和杂志的阅读器7.移动办公应用8.财经工具9.手机购物应用10.风景区相关应用11.旅游相关的 ...
- <<Java RESTful Web Service实战>> 读书笔记
<<Java RESTful Web Service实战>> 读书笔记 第一章 JAX-RS2.0入门 REST (Representational State ransf ...
随机推荐
- 快速向表中插入大量数据Oracle中append与Nologging
来源于:http://blog.sina.com.cn/s/blog_61cd89f60102e7gi.html 当需要对一个非常大的表INSERT的时候,会消耗非常多的资源,因为update表的时候 ...
- CSS选择器优先级排列
CSS选择器的效率从高到低做了一个排序: 1.id选择器(#myid) 2.类选择器(.myclassname) 3.标签选择器(div,h1,p) 4.相邻选择器(h1+p) 5.子选择器(ul & ...
- 侧滑菜单SlidingMenu
想要使用SlidingMenu 需要下载文件SlidingMenu-master 并导入SlidingMenu-master中的第三方library 如图所示: 修改library里的build.gr ...
- C#反射设置属性值和获取属性值
/// /// 获取类中的属性值 /// /// /// /// public string GetModelValue(string FieldName, object obj) { try { T ...
- JAVA程序员一定知道的优秀第三方库(2016版)
几乎每个程序员都知道要“避免重复发明轮子”的道理——尽可能使用那些优秀的第三方框架或库,但当真正进入开发时,我却经常发现他们有时并不知道那些轮子在哪里.最近,我在业余时间带几个年轻的程序员一起做了一个 ...
- poj1182 带权并查集
食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 60225 Accepted: 17656 Description ...
- jQuery 图片等比缩放
$(function(){ $('.img-box img').load(function(){ var w = $(this).width(); var h =$(this).height(); i ...
- 谈谈MVC项目中的缓存功能设计的相关问题
本文收集一些关于项目中为什么需要使用缓存功能,以及怎么使用等,在实际开发中对缓存的设计的考虑 为什么需要讨论缓存呢? 缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例如数据 ...
- 利用MVC的自定义过滤器FilterAttribute、IActionFilter、IExceptionFilter实现异常处理等功能
今天在博客园上看了一篇推荐文章,还说得蛮有道理: http://www.cnblogs.com/richieyang/p/4779028.html 项目中确实有各种后台验证过程,最常见的莫过于判空,而 ...
- Mysql-ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
方法一:1.关闭mysql # service mysqld stop2.屏蔽权限 # mysqld_safe --skip-grant-table 屏幕出现: Starting demo ...