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,把自己炒的代码贴在这以 ...
随机推荐
- 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 2
BSD Socket网络编程API 创建socket对象 int socket (int __domain, int __type, int __protocol) :成功返回socket文件描述符, ...
- 厦门海沧区磁盘只有1TB的解决方案
厦门海沧区磁盘只有1TB的解决方案 1.为WINDOWS 2008 r2 服务器增加5个1T的硬盘 2.打开命令提示符,并键入 diskpart. 3.在“DISKPART”提示符下,键入 list ...
- 【原创】Oracle 11g R2 Client安装配置说明(多图详解)
1. 准备工作 安装Oracle11gR2client的时候,如果刚从网上下载的Oracle client,可能无法再2008 R2或者2012 R2的服务器上面运行. 报错:[INS-13001]环 ...
- C# Socket的粘包处理(转)
http://www.cnblogs.com/aarond/p/Socket111.html 当socket接收到数据后,会根据buffer的大小一点一点的接收数据,比如: 对方发来了1M的数据量过来 ...
- .ner core InvalidOperationException: Cannot find compilation library location for package 'xxx' 和 SqlException: 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。问题
原文地址:传送门 1.InvalidOperationException: Cannot find compilation library location for package 'xxx'问题: ...
- Python_Tips[5] -> 可变数据类型作为初始化形参
可变数据类型作为初始化形参 / Mutable Parameter as Init Formal-para 由于在Python中,没有类似C语言的static静态参数,因此当一个函数需要一个只初始化一 ...
- Python与数据库[0] -> 数据库概述
数据库概述 / Database Overview 1 关于SQL / About SQL 构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一 ...
- ESLint 的使用和.eslintrc.js配置
在团队协作中,为避免低级 Bug.产出风格统一的代码,会预先制定编码规范.使用 Lint 工具和代码风格检测工具,则可以辅助编码规范执行,有效控制代码质量. ESLint 简介 ESLint 由 Ja ...
- 后门构建工具Backdoor Factory
后门构建工具Backdoor Factory 在渗透测试中,后门程序帮助渗透测试人员在目标机器上执行各种预期的操作.例如,它可以建立从目标主机到攻击机的网络连接,方便渗透测试人员控制目标主机.Ka ...
- AtCoder - 3962 Sequence Growing Hard
Problem Statement Find the number of the possible tuples of sequences (A0,A1,…,AN) that satisfy all ...