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

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

现在看这些名称定义挺有趣,还有意思的一点,作者整书当中将HTML内部元素称为对象,提起对象,估计脑海中浮现的是Js语言中的对象吧。

以下是对选择器的补充

- 属性选择器 a[href] {},对只有某个属性的元素应用样式
- 子元素选择器 h1>strong{},与后代相比,它只选择某个元素的第一个子元素
- 相邻兄弟选择器 h1+p{},仅接着另一个元素后的一个元素,邻居

  • CSS单位

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

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

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

- rem 主要用于移动端
- % 百分比
- rgba 在rgb的基础上增加Alpha透明通道

  • 页面关联样式方法

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

  • 样式优先权

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

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>

显示效果

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

可选了解的内容:

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

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

快速预览及跳过的内容:

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

小结:

想看看web2.0时代革新内容及了解它的历史,想要详细了解全面认识CSS,比如什么是div,span,id,class,文档流的概念,浮动布局,相对与绝对定位布局,有序与无序列表运用,更多的文字样式,水平/垂直居中,css sprite(精灵),网站换肤等及以上种种,可以看看这本书,做为起点,前端道路还很长,打好基础更好的拥抱明天,拥抱现在的web标准html5和css3吧~

时间: 2024-10-01 01:19:05

《CSS网站布局实录》读书笔记的相关文章

码农的产品思维培养第一节(人人都是产品经理读书笔记)

在前段时间,密集的推出Android学习记录之后,我觉得接下来的Android开发进入了一个精进演变的过程,革命性的东西略缺.每日更新特别新的东西也违背认知规律.所以以后关于Android方面的知识,碰到什么,然后记录什么. 而今天,在前一篇日志里面,我描述了我为什么要去理解"产品经理",从这一节开始,我要实施我的计划.所以,和Android记录一样,我要记录这个过程.对自己是一个回归总结吸收的过程,同时也希望能够帮助到更多的朋友,如果你也心存学习进取之心,如果你也如我一般疑惑未解心不

人人都是产品经理读书笔记(四)

补充:

《启示录:打造用户喜爱的产品》—— 读书笔记

这是一本非常不错的书,即使你可能只是一名开发工程师,也会有意想不到的收获! 如果你是一名产品经理,那就更不能错过了!不要留下遗憾! 这真的是一本很好的书,读每一遍都会有不同的收获,绝对让你震撼!我是会再读一遍或者N多遍的, 而能把这些内容转应用到实际中的人才是真正的高手,细细体会,在工作中好像已经有人在用了!惊讶!得抓紧时间了! 通过这本书,你将会知道一个合格的产品经理应该做什么,怎么做 本书主要讲解三个方面:人员.流程.产品 人员:产品从开始到完成过程中所有的参与者 流程:产品在开发过程中的所

产品经理学习笔记(二)------产品经理的工作职责(下)

二.产品经理的工作职责(下) 4.产品宣讲 ---宣讲对象:客服.市场.销售.运营.其他(开发进度到50%) ---宣讲目的:内部培训.获得认可 ---宣讲方式:内部推荐会(预测.演示.试用).注意控制(氛围.引导) ---宣讲目标:获得认可.帮助其他团队更好理解产品.协助其他团队更好开展工作 5.市场推广 ---对产品资料进行内容把关:网站.移动应用.印刷品等 ---主要针对:市场.公关.运营.销售 6.产品推出后的管理与迭代 ---运营数据的整理分析 ---深入一线体验产品 ---关注用户需

产品经理--读书静心的日子

入行教育,做教育产品工作,需要不断的进步. 一.了解产品开发.项目管理经验. 二.教育基础理论及相关知识. 小学阶段 (2016.2017不断的翻阅,有新的体会) 中学阶段(2018主攻方向)

谷歌和亚马逊如何做产品(读书笔记)

《产品经理》读书笔记

自从鼠标手犯病后,就刻意减少使用电脑的时间并且加强运动,目前已经完全康复,但是还是需要注意.因此更新博客的频率大大降低,但是也有时间多看看书,学习学习了! 最近看了<yes,产品经理>上下册,作者 汤圆 老马,文笔诙谐,把管理知识融入工作日常内容,浅显易懂,对于非管理专业的门外汉,还是不错的读物! 下面是摘抄的部分主要内容,个人认为比较有用的就记录下来. ------------------------------------------------ 制定产品价格策略的6步: 确定企业目标 冲

产品经理的那些事第一章读书笔记

1.一个产品经理的信仰:好产品能改变世界. 2.为什么要做产品经理:因为热爱,改变世界的方法有很多,技术可以改变世界,好的产品也可以,当然还有其他,但我热爱产品,一件事只有热爱了,才能持续不断的去做好,所以我选择了产品经理这条路. 3.产品是什么:产品是用来解决某个问题的东西. 4.产品经理为何而设:想要更了解产品与它面临的竞争情况,最终目的是要满足顾客的需求. 5.产品经理概念的进化: 分析: 1)行业形态不同:成熟行业vs.新兴行业 ①传统行业 概况:经过几十年乃至上百年的摸爬滚打,市场已经

【读书笔记】产品经理要做的事

文章链接:http://www.chanpin100.com/archives/44223 作为一个产品经理,不能只画图:产品经理更像是一个纽带,连接着各个环节,保持项目的正常运行. 在开始要做一个产品的时候,不能上来就画图,也不能告诉你需求就开始画图.应该先对需求进行筛选和挖掘:把伪需求去掉,挖掘出潜在需求. 1.分析产品的步骤:目标人群.使用场景.业务核心. 2.在团队中担任掌舵人,有目的的引导团队:激发团队灵感可以使用商业画布:客户分布.价值主张.渠道通路.客户关系.收入来源.核心资源.关

【读书笔记】神一样的产品经理(一)

 第一篇 产品经理 1.产品经理诞生的背景和价值 *很多入门级书里都会提到这一部分,本书讲了保洁诞生的第一个产品经理的故事. 2.很牛的产品经理(例子是乔布斯.郭靖) 1)几个重要特性:*影响力 *核心需求把控力 *创新力 *痴情力 2)产品经理的职责: *明确产品的目标用户群及其特征*获取.评估和管理用户需求*完成产品需求文档.产品原型和流程图*精通用户体验.交互设计和信息架构技能*项目管理.需求变更管理和需求验收*产品运营数据的分析和总结*提供运营.市场和销售等支撑 3)产品经理常犯的错误