博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《写给大家看的CSS书》部分读书笔记
阅读量:5258 次
发布时间:2019-06-14

本文共 4533 字,大约阅读时间需要 15 分钟。

Author:chemandy

第2章 CSS的工作原理

1.添加样式三种方法

◇内联样式(局部样式):通过XHTML的style属性为标签添加的样式。
◇嵌入样式(页面样式):昂在XHTML文档头部中的一组CSS样式。
◇链接样式:把样式放到一个单独的文档(即样式表)中,然后将它链接到多个页面以便相应的样式具有全局作用范围(整个网站)。

2.在文档层次中对准标签

◇使用上下文选择符。可间接作用于后代元素(不一定是直接后代元素)。
◇使用子选择符“>”,如:p > em {color:green;},只作用于p的em直接后代元素。(IDWIMIE6)
◇添加类和ID:①直接添加类,②上下文中添加类,③一个元素添加多个类用空格隔开。
◇特殊选择符:①通配选择符,②相邻同辈选择符,③属性选择符(IE6、7不支持)。

3.伪类

◇锚链接伪类love-hate。
◇x:first-child,这个伪类用于选择签名为x的元素的第一个元素。(SCB和IE7支持)
◇x:focus,当用户单击一个表单字段时,我们说该字段会获得焦点,获得焦点的字段可以让用户在其中输入字符。(IE6、7和Safari不支持)

4.伪元素

◇x:first-letter,为第一个字母添加样式。
◇x:first-line,通常x为p,为一段文本第一行添加样式。(所有SCB和IE7支持)
◇x:before和x:after,能够为元素的前、后添加指定的文本。(IE7不支持)

ps:IE6不支持伪类和伪元素,IE7部分支持。

---------------------------------------------------------------------------------------

第3章 字体和文本样式

(一)字体种类

1. serif字体(Times New Roman、Georgia和Palatino等):该字体在字符笔画末端有叫做衬线的一些小细节。

2. sans-serif字体(Trebuchet MS、Arial、和Verdana)字符笔画末端没有任何细节。
3. monospace字体(Courier和Monotype)每个字母的宽度相等(即“I”与“m”具有相同的宽度)。
4. cursive字体(Comic Sans MS和Brush Script):看起来像是手写笔迹,单笔真正的手写效果要整洁得多。
5. fantasy字体:指不能归入其他种类的字体。

(二)设置字体大小

有3种类型的值:绝对值(例如,像素和英寸)、相对值(例如,百分比或em)和“运动衫尺码关键字”(例如,x-small、small、large和xx-large等)。

(三)字体属性简写方式(使用font属性包含所有值):

    规则1:始终要保证声明font-size和font-family的值。
    规则2:这些值的先后顺序如下所述。
        (1)首先是font-weight、font-style、font-variant——任意顺序;
        (2)然后是font-size;
        (3)然后是font-family。

(四)文本属性

1. text-indent属性:文本缩进。
2. Letter-spacing属性:调整字母间距,“缩排效果”。
3. Word-spacing属性:单词间间距。(空格分隔的任何字符或字符组都看成是一个单词)
4. Text-decoration属性:为文本添加下划线、上划线、删除线及闪烁效果。
5. Text-align属性:水平方向文本对齐方式。(文本垂直居中参考文献“Vertical Centering in CSS”)
6. line-height属性:行间距。
7. text-transform属性:改变元素中文本大小写形式。(值:uppercase、lowercase、capitalize、none)
8. vertical-align属性:可以相对于基线将文本向上方或下方移动,典型应用:将公式或数学表达式中的数字转换为上标或下标。

---------------------------------------------------------------------------------------

第5章 基本的页面布局

(1)两栏固定宽度布局

    Key:
    栏目设定宽度,使用float布局。

(2)两栏流动布局

    key:
    两栏,nav与content。
    让nav左浮动脱离文档流。
     content设足够大左边距防止nav。
    思考:脱离文档流的盒子可栖身于未脱离文档流的大边距中。

(3)三栏固定宽度布局

    key:
    设定各栏目宽度,使用float布局。

(4)三栏流动式布局

    key:
    三栏,nav、content、promo。
    nav盒子,左浮动,固定宽度。
    content盒子,不浮动处于文档流,设足够大的左边距放置nav盒子。另外,设足够的又边距放置promo盒子。
    nav与content关系如两栏流动布局。
    promo盒子,左浮动,设固定宽度。
    threecolwrap盒子包含三栏目,左浮动,宽度设100%。
    twocolwrap盒子包含nav和content,左浮动,宽度设100%,并设与promo盒子宽度相同的负的右边距,以容纳promo盒子。
    结论:脱离文档流的盒子可以栖身于文档流盒子的左边距,而不能栖身于其右边距,解决方法如上。

PS:任何使用float属性的盒子自动成为块级元素。当一个元素中同时存在float和margin,ie6下会产生双倍边距,解决方法:display:inline;

---------------------------------------------------------------------------------------

CSS

---------------------------------------------------------------------------------------

一、层叠次序(数字 4 拥有最高的优先权)

1.浏览器缺省设置

2.外部样式表
3.内部样式表(位于 <head> 标签内部)
4.内联样式(在 HTML 元素内部)

---------------------------------------------------------------------------------------

零散知识点

◇是否包含空格不会影响 CSS 在浏览器的工作效果,同样,与 XHTML 不同,CSS 对大小写不敏感。不过存在一个例外:如果涉及到与 HTML 文档一起工作的话,class 和 id 名称对大小写是敏感的。

◇属性选择符两种特殊用法:[title~=hello] { color:red; }适用于由空格分隔的属性值;[lang|=en] { color:red; }适用于由连字符分隔的属性值:
◇样式表应该放置于<head></head>内。
◇所有块级元素应用 text-indent,但无法将该属性应用于行内元素,图像之类的替换元素上也无法应用 text-indent 属性。
◇direction 属性规定文本的方向 / 书写方向。(值:ltr、rtl、inherit)
◇文档流:普通流中的元素的位置由元素在 (X)HTML 中的位置决定。块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来。行内框在一行中水平布置。
◇z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。元素可拥有负的 z-index 属性值。Z-index 仅能在定位元素上奏效(例如 position:absolute;)!
◇使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。
◇绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
◇绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。
◇因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其它元素。可以通过设置 z-index 属性来控制这些框的堆放次序。
◇由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
◇浮动元素脱离了文档流,所包围图片和文本的 div 不占据空间。
---------------------------------------------------------------------------------------

W3school

1. .class1.class2 {} 作用于同时具有class1和class2类的元素。中间没有空格,所以并不是上下文选择符。

2. 重要事项:在 IE7 之前的版本中,不同平台的 Internet Explorer 都不能正确地处理多类选择器。
3. 类选择器和 ID 选择器可能是区分大小写的。这取决于文档的语言。HTML 和 XHTML 将类和 ID 值定义为区分大小写,所以类和 ID 值的大小写必须与文档中的相应值匹配。
4. 属性选择符
[abd~="def"] 选择 abc 属性值包含 "def" 的所有元素
[abd^="def"] 选择 abc 属性值以 "def" 开头的所有元素
[abd$="def"] 选择 abc 属性值以 "def" 结尾的所有元素
[abd*="def"] 选择 abc 属性值中包含子串 "def" 的所有元素
*[lang|="en"] {color: red;}选择 lang 属性等于 en 或以 en- 开头的所有元素。
[att|="val"] 可以用于任何属性及其值。
5. y > x:first-child {} 伪类来选择元素的第一个子元素。即,父元素y里面第一个子元素为x才对应实行样式。
6. :lang 伪类使你有能力为不同的语言定义特殊的规则。
7. @media 规则使你有能力在相同的样式表中,使用不同的样式规则来针对不同的媒介。@media screen{} 可选值:all、aural、braille、embossed、handheld、print、projection、screen、tty、tv。
8. Internet Explorer 5 引入了行为 (behaviors)。behaviors 是一种通过使用 CSS 向 HTML 元素添加行为的方法。请使用 JavaScript 和 HTML DOM 取而代之。

转载于:https://www.cnblogs.com/chemandy/archive/2011/03/27/1997335.html

你可能感兴趣的文章
svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...
查看>>
Java大数——a^b + b^a
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
【动态规划】skiing
查看>>
java定时器的使用(Timer)
查看>>
ef codefirst VS里修改数据表结构后更新到数据库
查看>>
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>
简单的数据库操作
查看>>
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
Redmine
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>
IOS解析XML
查看>>
Python3多线程爬取meizitu的图片
查看>>
树状数组及其他特别简单的扩展
查看>>
zookeeper适用场景:分布式锁实现
查看>>
110104_LC-Display(液晶显示屏)
查看>>
httpd_Vhosts文件的配置
查看>>