css深入学习笔记

伪类选择器

a:visited { color : red }

指示作为已访问地址超链接的所有锚

a:link {color : green}

指示作为超链接并指向一个未访问地址的所有锚

a:link 不会应用到 不带href属性的a标签,比如:

<a name = 'snow'>the king in the north</a>

动态伪类

:focus

指示当前拥有输入焦点的元素,也就是说,可以接受键盘输入或者能以某种方式激活的元素

:hover

指示鼠标指针停留的那个元素

:active

指示被用户输入激活的元素,例如,鼠标指针停留在一个超链接上时,如果用户点击鼠标,就会激活这个超链接,:active将会指示这个超链接

伪类顺序很重要,建议 link-visited-focus-hover-active!!!

强烈建议不要在hover悬停时,改变锚的大小!!!因为这样会重绘文档

选择第一个元素

p:first-child 选择第一个p元素

设置首字符样式

p:first-letter {color : red;}

这个规则会把每一段的第一个字母变成红色

设置第一行样式

:first-line 可以用来影响元素中的第一个文本行.

p:first-line
// 每一段所显示的第一行文本为紫色

限制: css2中:first-letter和:first-line伪元素只能应用于标记或者段落之类的块级元素而不能应用于超链接等行内元素. 在css2.1中, :first-letter能应用到所有元素

设置之前和之后元素的样式

css2.1允许插入生成的内容,然后用伪类:before和:after直接设置样式

h2 : before {content :"}}"; color : silver;}

字体

font-family

可以使用属性font-family在文档中采用字体系列

body{ font-family : sans-serif}

font-weight

font-weight : normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 |
700 | 800 | 900 | inherit

font-size

百分数值 : 根据从父元素继承的大小来计算

body{ font-size : 20px;}
p{font-size : 80%} // 16px

font-style

font-style用于在normal文本. italic文本和oblique文本直接进行选择.

默认值:normal 指竖立的文本
italic 指倾斜文本
oblique 指倾斜文本

font-variant

字体变形

: small-cap | normal | inherit

normal 描述正常文本
small-caps 要求使用小型大写字母文本

font-stretch

拉伸和调整字体,让字体变得更胖或者更瘦

文本属性

缩进文本text-indent

通过使用text-indent属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度是负值.

p {text-indent :3em}
//所有段落首行缩进3em

水平对齐text-align

影响一个元素中的文本行相互之间的对齐方式

text-align: left | center | right | justify | inherit

  • left : 左对齐
  • center : 居中对齐
  • right : 右对齐
  • justify : 两端对齐

垂直对齐line-height

line-height属性是指文本行基线之间的距离,而不是字体大小,它确定了将各个元素框的高度增加或者减少多少.line-height值和字体大小之差就是行间距

要确定一个给定元素的行间距,只需要将line-height的计算值减去font-size的计算值. 这个值就是总的行间距. 而且要记住, 这可能是一个负值. 然后行间距在除以二,将行间距的一半分别应用到内容区的顶部和底部,其结果就是该元素的行内框

当一个块级元素从另一个块级元素继承line-height时,问题会变得更为复杂.

比如 :

body{font-size : 10px;}
div{line-height : 1em}  // 相当于10px
p{ font-size : 18px}
//结果导致p标签中文本垂直间距挨得很久

段落p标签从其父元素div继承了line-height的计算值,所以p标签的line-height的值为10px. 10px-18px = -8px, 所以段落上下挨得很近

解决办法: 指定一个数,由它设置缩放因子

body{font-size : 10px}
div{line-height : 1}
p{font-size : 18px}
//指定一个数时,缩放因子将是继承值而不是计算值.这个数会应用到该元素及其所有子元素,所以各元素都根据其自己的font-size计算line-height

垂直对齐文本 vertical-align

vertical-align属性只应用于行内元素和替换元素,如图像和表单输入元素.该属性不能继承.

baseline: 要求一个元素的基线和其父元素的基线对齐

sub: 要求一个元素变成下标,这意味着其基线相对于父元素的基线降低.

super: 与sub相反,它将元素的基线相对于父元素的基线升高

注意: 值sub和值super不会改变元素的字体大小,所以下标和上标不会变小

bottom: 将元素行内框的底端与行框的底端对齐(把元素的顶端与行中最低的元素的顶端对齐。)

text-bottom:把元素的底端与父元素字体的底端对齐。

top:把元素的顶端与行中最高元素的顶端对齐

text-top :把元素的顶端与父元素字体的顶端对齐

vertical-align 长度对齐

vertical-align设置长度把一个元素升高或者降低指定的距离.

vertical-align : 5px;
//会把一个元素与对齐前相比上升5像素

字间隔word-spacing

word-spacing属性接受一个正长度值或者负长度值.这个长度会增加字之间的标准间隔.默认值normal与设置值为0是一样的

//正长度值,字间隔增加
p.spread {word-spacing : 0.5em}
p.tight {word-spacing : -0.5em}
p.base{word-spacing : normal}
p.norm{word-spaing : 0}

字母间隔

letter-spacing输入长度会使子母间的间隔增加或减少指定的量

p {letter-spacing : 0}
p.sapcius {letter-spacing : 0.25em}
p.tight {letter-spacing : -0.25em}

文本转换 text-transform

uppercase: 将文本转换为全大写
lowercase: 将文本转换为全小写
capitalize: 只对每个单词的首字母大写

文本修饰 text-decoration

underline: 会对元素加下划线
line-through: 则在文本中间画一个贯穿线
blink:会让文本闪烁
overline: 定义文本上的一条线。
none : 默认值,无任何修饰

处理空白符 white-space

white-space属性指定元素内的空白怎样处理。

normal: 默认值,空白会被浏览器忽略。
pre: 空白会被浏览器保留。
nowrap: 文本不会换行文本会在在同一行上继续,直到遇到
标签为止。
pre-wrap: 保留空白符序列,但是正常地进行换行。
pre-line:合并空白序列,但保持换行

背景

背景色 background-color

background-color:red

背景图像 background-image

如果希望有一个背景图像,为这个属性指定一个URL

body{background-image: url(bg123.png)}

有方向的重复background-repeat

repeat: 图像在水平垂直方向上都平铺
repeat-x:只在水平方向上平铺
repeat-y:只在垂直方向上平铺
no-repeat: 不重复对象

背景定位background-position

原图像的放置由background-position属性决定

注意:于这个工作在Firefox和Opera,background-attachment必须设置为 "fixed(固定)".

background-position : left top
background-position:right top
....

background-position:x% y%
//第一个值是水平位置,第二个值是垂直。左上角是0%0%。右下角是100%100%。如果仅指定了一个值,其他值将是50%。默认值为:0%0%

background-position: x pos y pos
//第一个值是水平位置,第二个值是垂直。左上角是0。单位可以是像素(0px0px)或任何其他 CSS单位如果仅指定了一个值,其他值将是50%。你可以混合使用%和positions

关联background-attachment

通过使用属性background-attachment,可以声明原图像相对于可视区是固定的(fixed),因此不会守滚动的影响

background-attachment:fixed
//相对于可视区固定

background-attachment:scroll
//默认值,随文档滚动
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容

  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,803评论 0 6
  • 1.块级元素和行内元素 块级(block-level)元素;行内(内联、inline-level)元素。 块元素的...
    饥人谷_小侯阅读 1,979评论 1 4
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,023评论 0 1
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    程序员poetry阅读 16,508评论 32 459
  • 参考文章:深入了解CSS的line-height属性Vertical-Align: 你需要知道的所有事【译】Ver...
    若邪Y阅读 3,417评论 1 6