《CSS网站布局实录》读书笔记

从Web标准、HTML标记、CSS语法基础介绍到实用技巧,事无巨细。实体书已不印刷,只能下载电子版

 

书的背景:

国内第一本web标准的CSS布局书,2006年9月第一版,作者李超。

 

环境背景:

当时主流浏览器IE6与Firefox,兼容浏览器IE5/4/Opera/Mozilla,web2.0标准是XHTML1.0,为XML过渡而生,页面编码格式gb2312,使用工具Dreamweaver可视化开发。

 

基础篇之XHTML:

HTML结构包括头部(head)主体(body)两大部分。头部描述浏览器所需信息如<title>无标题文档</title>,主体包含所要展现的具体内容,如<h1>1级标题</h1><p>文字段落</p>。

以前头部需要申明DTD,告诉浏览器页面解析规则,这里不做赘述啦,现在的页面框架,如下

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>我的第一个网页</title>
 5     <meta charset="utf-8" />
 6 </head>
 7 <body>
 8     <h1>Hi</h1>
 9 </body>
10 </html>
HTML基本结构

 

基础篇之CSS:

  • CSS语法组成

- 仅由选择符(Selector)、属性(Property)、值(Value)三部分组成。

  • CSS选择符(器)

- 类型选择符 网页标签名作为名称的选择符。如常见的div{属性:值},p{olor:red;},span{..},现称元素/标签选择器

- 群组选择符  对一组XHTML对象进行相对样式的指派。如h1,h2,p,span{},现称选择器分组

- 包含选择符 对某个对象的子对象进行指派。如h1 span{},现称后代选择器

- id及class选择符 对标签进行自定义名称。如<h1 id="title"></h1>,<div class="title"></div>

- 标签指定式选择符 想对标签指定id或class。如h1#content{}h1.title{}

- 组合选择符 无论什么样的选择符均可进行组合使用。如h1 .title{} h1 .title,#content h2{}

- 伪类及伪对象选择符 是一种特殊的类和对象,CSS会自动支持,名称不能被自定义。如a:hover{}

- 通配选择符 代替不确定的内容,使用“*”指所有文件。如*{},以前用来替换浏览器对一些标签设定的默认样式,现解决方法css reset

现在看这些名称定义挺有趣。

以下是对选择器的补充

- 属性选择器 a[href] {},对只有某个属性的元素应用样式

- 子元素选择器 h1>strong{},与后代相比,它只选择某个元素的第一个子元素

- 相邻兄弟选择器 h1+p{},仅接着另一个元素后的一个元素,邻居

  • CSS单位

CSS指定的数值均有两种形式。一种是指定的范围,比如float属性,只能应用left,right,none,inherit四种值;另一种为数值,比如宽width:0~9999px。除了px像素单位外还有其它许多类型单位。

- em(相对字体尺寸)em会继承父级元素的字体大小
- ex(相对字符高度尺寸)

<!DOCTYPE html>
<html>
<head>
    <title>11</title>
    <meta charset="utf-8" />
    <style type="text/css">
        html{font-size: 12px;}
        .a{font-size: 2em;}
        .b{font-size: 2em;}
    </style>
</head>
<body>
    <div class="a">
        字体24px
        <div class="b">字体48px</div>
    </div>
</body>
</html>
em demo

- pt(点/镑point)
- pc(派卡Pica)
- in(英寸Inch)
- mm
- cm
- rgb(颜色单位红绿蓝)
- #ccc(十六进制颜色单位)
- Color Name(浏览器所支持的颜色名称,red/green/black...)

其中一些没听过~~依旧补充

- rem 主要用于移动端
- % 百分比
- rgba 在rgb的基础上增加Alpha透明通道
- deg 度(css3旋转)
- s 秒(动画执行的时间)
- vw 相对于视口宽度
- vh 相对于视口高度

  • 页面关联样式方法

- 行间样式表 <h1 style="font-size:12px;color:red;"></h1>,不推荐使用,最好结构样式相分离
- 内部样式表 头部中加入<style type="text/css"></style>
- 外部样式表 分为两种,link和@import,其中推荐使用link<link rel="stylesheet" href="style.css" />,import在此不做讲解,两者的区别有兴趣请点击

  • 样式优先权

CSS中难免存在重复定义以及优先使用规则,样式优先权不可忽视的
顺序:!important > style >  id > class > tag

详情请移步我以前收集的资料:《CSS权重

 

CSS网页布局与定位:

  • 认识div

div是个容器,主要是用来布局和嵌套

  • 一列宽度自适应

将固定值改为百分比的形式就行,div默认将占据整行空间即100%的自适应

1 #layout{
2     background:#ccc;
3     width:80%;
4     height:200px;        
5 }
  • 二列宽度自适应
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>css两列右列宽度自适应布局</title>
 5     <style type="text/css">
 6         .left{
 7             width: 300px;
 8             background: yellow;
 9             float: left;
10         }
11         .right{
12             background: gray;
13         }
14     </style>
15 </head>
16 <body>
17     <div class="left">
18         111
19     </div>
20     <div class="right">
21         222
22     </div>
23 </body>
24 </html>
两列自适应
  • 三列浮动中间自知应
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>三列宽度自适应</title>
 6     <style type="text/css">
 7         *{
 8             padding:0;
 9             margin:0;
10         }
11         html,body{
12             height: 100%;
13         }
14         .left{
15             width: 300px;
16             background: yellow;
17             position: absolute;
18             top: 0;
19             left: 0;
20             height: 100%;
21         }
22         .right{
23             background: gray;
24             position: absolute;
25             top: 0;
26             right: 0;
27             width: 200px;
28             height: 100%;
29         }
30         .center{
31             background: green;
32             margin: 0 200px 0 300px;
33             height: 100%;
34         }
35     </style>
36 </head>
37 <body>
38     <div class="left">
39         左列
40     </div>
41     <div class="center">
42         中间
43     </div>
44     <div class="right">
45         右列
46     </div>
47 </body>
48 </html>
三列中间自适应
  • 高度自适应

一个高度是否能百分比显示关键在于对象的父级对象

1 html,body{
2     height:100%;      
3 }
4 .content{
5     width:100px;
6     height:100%;
7     background:gray;
8 }
  • 盒模型

W3C对它的定义指CSS布局中的每一个元素,在浏览器的解释中,都被当做盒状物。浏览器对元素的一种理解方式。

注:CSS盒模型的设计当中,它的宽高由width/height/padding(内边距)/margin(外边距)/border(边框)来提供。

 

CSS内容排版:

  • 有意思的文字样式,贴上练习代码
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>文字</title>
 6     <style type="text/css">
 7         html,body{
 8             padding:0;
 9             margin:0;
10         }
11         header:first-letter{
12             float: left;
13             font-size: 2em;
14         }
15         header p:first-line{
16             font-size: 2em;
17         }
18         p.a{
19             word-spacing:30px;
20         }
21         p.b{
22             word-spacing:-10px;
23         }
24     </style>
25 </head>
26 <body>
27     <header>
28         我就是我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我
29         <p>YES我就是我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的</p>
30     </header>
31     <p class="a">This is some text. This is some text我就是我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的</p>
32     <p class="b">This is some text. This is some text我就是我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的我,不一样的</p>
33 </body>
34 </html>
View Code

显示效果

  • 不规则的文字环绕(实现方法神奇吧)

 

可选了解的内容:

书中提到的浏览器兼容与解析问题,可以进行了解或直接查阅最新资料

书中提到常见网站元素设计CSS的解决方案,比如圆角,横向/纵向导航,弹出式菜单等

 

快速预览及跳过的内容:

CSS可视化开发与调试,主要讲的是DW工具的使用。

 

小结:

想了解web2.0时代革新内容及它的历史,想全面认识CSS,比如什么是div,span,id,class,文档流的概念,浮动布局,相对与绝对定位布局,有序与无序列表运用,更多的文字样式,水平/垂直居中,css sprite(精灵),网站换肤等及以上种种,可以看看这本书~

 

转载于:https://www.cnblogs.com/chenlily/p/5483205.html

CSS网站布局实录:基于Web标准的网站设计指南(第2版)》内容提要: 本书是一本讲述基于Web标准的应用CSS进行网站布局设计与重构的典范之作。 本书以实例为主,一步步地告诉大家如何进行符合Web 2.0标准的CSS布局设计。具备了知识全面、完美应用(CSS选择器、样式继承、层叠、格式化、XML标签、CSS滤镜等。文本、图像、超链接、列表、菜单、网站导航、表单、数据表格、浮动布局CSS布局控制。),智能、创造型布局思维(智慧、完美视觉艺术效果之CSS布局技巧、CSS Hack实践战略),Web技术团队倾情奉献(来自CSS布局与Web标准应用之先驱——闪客帝国... [显示全部] 《CSS网站布局实录:基于Web标准的网站设计指南(第2版)》图书目录: 第1章 Web标准与CSS布局概述 1.1 Web标准的历史及发展 1.1.1 什么是Web标准 1.1.2 Web表现层技术 1.1.3 Web标准的历史 1.2 Web标准的构成 1.2.1 结构(Structure) 1.2.2 表现(Presentation) 1.2.3 行为(Behavior) 1.3 Web标准有什么好处 1.4 CSS布局与table布局的区别 1.4.1 CSS 2.0的优势 1.4.2 传统的table布局CSS布局 1.5 向Web标准过渡 1.5.1 从HTML转向XHTML 1.5.2 发挥CSS 2.0的作用 1.6 常见问题 1.6.1 什么样的网站才符合Web标准 1.6.2 使用Web标准之后表格还有用吗 1.6.3 可以继续使用HTML来设计网页吗 1.6.4 为什么不直接使用到XML 1.6.5 学习CSS布局比表格困难吗 1.6.6 CSS布局是否意味着必须手写代码 1.6.7 什么叫网站重构 1.6.8 使用Web标准之后就不再存在兼容性问题了吗 1.6.9 有没有Web标准方面的优秀图书或网站 1.6.10 使用CSS设计只能做出简单的网页吗 1.7 面向现在与未来的设计 1.7.1 Web标准与Web 2.0 1.7.2 用户体验技术 1.7.3 用户体验设计的发展趋势 第2章 XHTMLCSS基础 2.1 XHTML基础 2.2 选择合适的DTD 2.3 选择合适的标签 2.4 给CSS留下接口 2.5 良好的XHTML编写习惯 2.6 CSS语法结构 2.6.1 CSS属性与选择符 2.6.2 类型选择符 2.6.3 群组选择符 2.6.4 包含选择符 2.6.5 id及class选择符 2.6.6 标签指定式选择符 2.6.7 组合选择符 2.6.8 伪类及伪对象 2.6.9 通配选择符 2.7 CSS数据单位 2.8 应用CSS到网页中 2.8.1 行间样式表 2.8.2 内部样式表 2.8.3 外部样式表 2.9 样式优先权问题 2.9.1 写法优先权 2.9.2 选择符优先权 2.9.3 样式继承 2.9.4 !important语法 2.10 代码注释 2.11 CSS开发环境与调试环境 第3章 CSS网页布局与定位 3.1 认识div 3.1.1 div是什么 3.1.2 如何使用div 3.1.3 理解div 3.1.4 并列与嵌套div结构 3.1.5 使用合适对象来布局 3.2 一列固定宽度 3.3 一列宽度自适应 3.4 二列固定宽度 3.5 二列宽度自适应 3.6 两列右列宽度自适应 3.7 二列固定宽度居中 3.8 三列浮动中间列宽度自适应 3.9 高度自适应 3.10 盒模型详解(.Box Model) 3.10.1 什么是盒模型 3.10.2 盒模型的细节 3.10.3 上下margin叠加问题 3.10.4 左右margin加倍问题 3.11 深入浮动(Float) 3.11.1 文档流(Document Flow) 3.11.2 浮动定位 3.11.3 浮动的清理(Clear) 3.11.4 何时选用浮动定位 3.12 绝对定位与相对定位 3.12.1 绝对定位 3.12.2 相对定位 3.12.3 何时选用绝对与相对定位 第4章 CSS网站元素设计 4.1 用CSS设计网站导航 4.1.1 横向导航 4.1.2 纵向导航 4.1.3 下拉及多级弹出式菜单 4.1.4 门户网站的导航设计(闪客帝国) 4.2 背景控制 4.2.1 背景颜色 4.2.2 背景图片 4.2.3 背景定位 4.2.4 背景滚动 4.2.5 背景属性缩写 4.2.6 基于背景控制的导航优化 4.3 使用列表元素 4.3.1 ul无序列表 4.3.2 ol有序列表 4.3.3 改变项目符号样式 4.3.4 使用图片自定义项目符号 4.3.5 使列表变为段落 4.3.6 列表缩进排版 4.3.7 复杂列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值