css进阶读书笔记
说明:努力在十一左右,最迟双11之前掌握所有css知识要点
一、摘自《写给大家看的CSS书(第2版)》(虽然书比较旧,09年版的,但对于我这种刚入门的小菜鸟
来说,能学到的还是挺多的)
1.css中层叠样式概括:
(1)包含ID的选择符覆盖包含累的选择符,包含类的选择符覆盖只包含标签的选择符
(2)如果层叠中的不同位置为同一个标签的同一个属性多次定义了值,那么,内联样式覆盖嵌入样式,
嵌入样式覆盖样式表中的样式。但是,当选择符更有针对性时,无论样式处于什么位置,都是优
先适用的——也就是说,(1)优先于(2)
(3)无论针对性如何,定义的样式都覆盖继承的样式。
2.盒子模型的结论:
(1)特定尺寸的盒子(宽度已定)会随着内边距、边框及外边距的添加而扩展,进而占据更多的水平空间。
实际上,通过width属性设置的是盒子内容的宽度,而不是盒子本身的宽度。
(2)无尺寸限制的元素(未设置宽度)会扩展到与它的包含元素同宽。因此,为无尺寸限制的元素添加水
平外边距、边框、和内边距,会导致元素内容的宽度变化。
3.绝对定位元素的定位环境是body,所以绝对定位的元素会随着页面滚动而移动——它需要保持与body元素
的相对关系,而body元素会随着页面滚动而移动。
4.当外部div采取了相对定位之后,绝对定位的后代元素就会按照自己top和left属性的设置,相对于外部div进行定位。
即相对定位的元素必须是绝对定位的祖先元素,才有资格成为定位环境。
5.当把一个元素的display属性设置为none时,该元素以及嵌套在其中的任何元素,都不会显示在页面中。而且,这个
元素原先占据的任何空间都会被移除,就像相关的标记不存在一样。而visibility属性恰好相对,后者只有visible和
hidden两个值。如果一个元素的visibility属性设置为hidden,会隐藏该元素,但在这个元素占据的空间仍然会得到保留。
6.尽量不要为那些构成主分栏的div直接添加视觉样式,要按照需要为它们各自的“内部”div添加样式。
7.当使用Strict类型的DOCTYPE时,不能单独把行内元素放到页面中——这是XML中不可改变的规则,该规则要求必须
把行内元素包含在适当的块级元素中。
8.实际上,在为行内元素应用内边距和边框时,它们不会像我们期望那样影响包含元素。行内元素垂直内边距不会像块
级元素那样,沿着文本层次向上传递到包含元素。因而包含元素也不会调整自身大小来容纳被行内元素占用的更大区域。
简单的补救方法就是把行内元素转换为块级元素(display:block;)。
二、摘自《精通CSS+DIV网页样式与布局》(08年版,哎,校图书馆借的,比上本还要旧,但还能看,挺不错的)
1.word-spacing与letter-spacing的区别:都用来添加它们对应元素的空白,但letter-spacing增加字母之间的空白,而
word-spacing增加单词之间的空白。注意:word-spacing对中文无效。
2.<ul> 和<li>中的list-style-type属性值没用明显区别,但用时尽量只用一种方式。
3.在很多浏览器下,ID选择器也可以用于多个标记,但这样做是错误的。因为每个标记定义的id不只是CSS可以调用,
JAVASCRIPT等其它脚本语言同样也可以调用。如果一个HTML中有两个相同的id的标记,那么将会导致Javascript在
查找id时出错,eg:函数getElementByID().
4.ID选择器不支持像class选择器那样的多风格同时使用,类似“id=“one two””是完全错误的语法。
5.很多设计者喜欢使用各种各样的字体来给页面添彩,但这些字体在大多数用户的机器上都没用安装。最直接的方式就是
将是用了生僻字体的部分,用图形软件制作成小的图片,再加载到页面中。
6.再设置一个段落文字的颜色时,通常可以利用<span>标记,将需要的部分进行单独标注,然后再设置<span>标记的颜色属性
<span>仅仅是一个行内元素,在它的前后不会换行。<span>没有结构上的意义,纯粹是应用样式,当其他行内元素都不合适
时,就可以使用<span>元素。而<div>是一个块级元素,它包围的元素会自动换行。通常情况下,对于页面中大的区块使用<div>
标记,而<span>标记仅仅用于需要单独设置样式风格的小元素,例如一个单词、一幅图片和一个超链接等。
7.在CSS段落文字的垂直对齐方式是通过vertical-align属性来具体实现的。对于文字本身而言,该属性对于块级元素并不起作用,
例如<p>和<div>标记。但对于表格而言,这个属性则显得十分重要
8.图片水平对齐的方式与文字水平对齐的方式基本相同,分为左、中、右3种。不同的是图片的水平对齐通常不能直接通过设置
图片的text-align属性,而是通过设置其父元素的该属性来实现的。
9.各个浏览器之间显示的差异通常都是因为各浏览器对部分CSS属性的默认值不同导致的,通常的解决办法就是指定该值,而
不让浏览器使用默认值。
10.通过“display:block:”语句,可以将超链接设置成块元素,当鼠标进入该块的任何部分时都会被激活,而不是仅在文字上方时才被激活
11.在进行整个网页排版时,最下端的“脚注”部分通常需要设置clear属性,从而消除正文部分各种排版方法对它的影响。
12.内联元素是无法设置宽度和高度的,width和height只是针对块状元素。
13.如果用定位来布局页面,父级元素的position属性必须为relative,而定位于父级内部某个位置的元素,最好用absolute,因为它不
受父级元素的padding的属性影响,当然你也可以用relative,计算的时候不要忘记计算padding的值。
三、摘自《CSS权威指南》(第三版):
1.CSS要求@import指令出现在样式表中的其他规则之前。如果一个@import出现在其他规则(如body,color,red)之后,兼容用户代理会将其忽略。
2.为了实现CSS中的向后可访问性,建议将声明包含在一个注释标记中。注释标记的开始标记(<!--)紧接着出现在style开始标记之后,注释标记
(-->)出现在style结束之前。这样一来,较老的浏览器不仅会将style标记完全忽略,还会忽略声明,因为HTML注释不会显示出来。与此同时,能理解
CSS的浏览器仍能正常地读取样式表。
css进阶读书笔记的更多相关文章
- CSS揭秘读书笔记 (一)
CSS揭秘读书笔记 (一) 一.半透明边框 要想实现半透明边框可以使用border: border: 10px solid hsla(0,0%,100%,.5); background: ...
- 《精通CSS》读书笔记(一)
最近新添16本书,目前开始看陈剑瓯翻译的<精通CSS——高级Web标准解决方案>(Andy Budd, CSS Mastery -- Advanced Web Standards Solu ...
- css 揭秘-读书笔记
css 揭秘 [希]Lea verou 著 css 魔法 译 该书涵盖7大主题,47个css技巧,是css进阶必备书籍,开阔思路,探寻更优雅的解决方案.这本书完全用css渲染出的html写成的(布局. ...
- 《Two Days DIV + CSS》读书笔记——CSS选择器
1.1.2 CSS选择器 CSS 选择器最基本的有四种:标签选择器.ID 选择器.类选择器.通用选择器. [标签选择器] 一个完整的 HTML 页面由很多不同的标签组成,而标签选择器,则是决定哪些标签 ...
- 《Two Days DIV + CSS》读书笔记——CSS控制页面方式
1.1 你必须知道的知识 (其中包括1.1.1 DIV + CSS的叫法解释:1.1.2 DIV + CSS 名字的误区:以及1.1.3 W3C简介.由于只是背景知识,跳过该章.) 1.2 你必须掌握 ...
- CSS Grid 读书笔记
基本概念 MDN上的解释是这样的 CSS Grid Layout excels at dividing a page into major regions or defining the relati ...
- css揭秘读书笔记
currentColor属性让hr和段落相同的颜色: div { color: red; } hr { background: currentColor; /* 一定要设置高度*/ height: 0 ...
- Java7编程高手进阶读书笔记—集合框架
定义:Java集合框架API是用来表示和操作集合的统一框架,它包含接口.实现类.以及帮助程序员完成一些编程的算法 作用: ●编程更加省力,提高城程序速度和代码质量 ● 非关联的API提高互操作性 ● ...
- Java7编程高手进阶读书笔记--final学习
这段时间终于有了一些自己的时间,在网上淘了一本书把java学习下,顺便记下每日的学习心得 工作快两年多了,才知道基础的东西永远看的时候都有一个新的体验,今天中午看了下final,把自己炒的代码贴在这以 ...
随机推荐
- java基础练习 13
import java.util.Scanner; public class Thirtheen { /*输入某年某月某日,判断这一天是这一年的第几天?*/ public static void ma ...
- git的使用03
之前我们写的都是将代码存在本地,我们还可以将代码github官网上,放在github的服务器上去托管
- hdu 5104(数学)
Primes Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- input 限制输入字段总结
把输入框中 输入的字符串含有中文逗号 改成 英文逗号 举例: <input type="text" id="keywords" style="w ...
- Mac下安装npm,http-server,安装虚拟服务器
http-server是一个简单的,不需要配置的命令行下使用的http服务器.类似的还有Xampp等. 针对前端开发工程的代码不需要编译的特点,使用这种简单的服务器十分的便利. 1.安装这个首先要安装 ...
- Mac下安装node.js , Ionic
访问node.js官网(https://nodejs.org/en/download/),下载相应的版本. 下载完,点击安装 [默认目录] Node.js v8.9.3 to /usr/local/ ...
- 洛谷——P1093 奖学金
P1093 奖学金 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相 ...
- AOJ 0531:Paint Color(二维离散+imos)
[题目链接] http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0531 [题目大意] 给出一张图,和一些矩形障碍物,求该图没被障碍物覆 ...
- 【hdu1150】【Machine Schedule】二分图最小点覆盖+简单感性证明
(上不了p站我要死了,侵权度娘背锅) 题目大意 有两台机器A和B以及N个需要运行的任务.每台机器有M种不同的模式,而每个任务都恰好在一台机器上运行.如果它在机器A上运行,则机器A需要设置为模式ai,如 ...
- 咏南3层数据集控件--TYNDataSet
咏南3层数据集控件--TYNDataSet 和2层CS数据集的语法非常近似.有了这个控件,学习掌握3层开发变得如此地简单. 新增数据: procedure Tfunit.btnappendClick( ...