选择器


vw     1vw = 视口宽度的 1%            1vh = 视口高度的 1%

vmin 

vmax




@media

@media screen

@media print

@media screen print

@media only screen and (max-width: 500px)     如果浏览器窗口小于 500px,  

orientation:portrait | landscape     竖屏 | 横屏

@media only screen and (orientation: landscape){


 viewport  http://www.cnblogs.com/2050/p/3877280.html






1.id选择器( # myid)

2.类选择器(.myclassname)

3.标签选择器(div, h1, p)

4.相邻选择器(h1 + p)

5.子选择器(ul > li)

6.后代选择器(li a)

7.通配符选择器( * )

8.属性选择器(a[rel = "external"])

9.伪类选择器(a:hover, li:nth-child)

10.组合选择器  #myid , h1

11. 同时 拥有2个类    .classA.classB

组合选择符

h1,h2,h3    和

div p        所有后代 p

div>p       所有子元素p

div+p      之后的第一个兄弟p

div~p      之后的所有兄弟p


伪类


a:link {color:#FF0000;} /* 未访问的链接 */

a:visited {color:#00FF00;} /* 已访问的链接 */

a:hover {color:#FF00FF;} /* 鼠标划过链接 */

a:active {color:#0000FF;} /* 已选中的链接 */

a.red:visited {color:#FF0000;}    配合使用


p:first-child          1. 选中所有p     2. 1中的第一个

p>i:first-child       p中的所有i         的第一个

p>first-child i        所有p中的第一个  中的所有i

所有伪类

:link                      a:link    选择所有未访问链接

:visited                  a:visited    选择所有访问过的链接

:active                   a:active    选择正在活动链接

:hover                    a:hover    把鼠标放在链接上的状态

:focus                    input:focus    选择元素输入后具有焦点

:first-letter              p:first-letter    选择每个元素的第一个字母

:first-line                p:first-line    选择每个元素的第一行

:first-child              p:first-child        选择匹配  属于某元素的第一个子元素的 p     兄弟中排第一的p

:nth-child(n)           p:nth-child(2)    选择匹配  属于某元素的第 n 个子元素的 p     兄弟中排第 n 的        tr:nth-child(even)  奇数行

li:first-child:nth-last-child(n+4)

:last-child

:first-of-type          

:nth-of-type(n)        p:nth-of-type(2)         同类型 兄弟中  排第 n 的 p

:last-of-type

:only-child

:only-of-type


:before                  p:before    Insert content before every element

:after                     p:after    在每个元素之后插入内容

:lang(language)            p:lang(it)    为元素的lang属性选择一个开始值


empty    enabed  disabled  checked   

selector:not(selector)              div:not(#container)  反取

:not(selector):                         not(p)选择每个并非p元素的元素

::selection                              ::selection匹配元素中被用户选中或处于高亮状态的部分


属性选择器

[title]

[title=titlename]

[title~=titlename]

[lang |=titlename]

[attribute^=value]   a[src^="https"]             src属性的值以"https"开头的元素       正则表达式

[attribute$=value]   a[src$=".pdf"]              src属性的值以".pdf"结尾的元素

[attribute*=value]    a[src*="runoob"]          src属性的值包含子字符串"runoob"的元素





CSS Display - 块和内联元素

块级元素   会独占一行,其宽度自动填满其父元素宽度,在前后都是换行符。 h1  p   div   ul  li 

内联元素   只需要必要的宽度,不强制换行,一行排不下,才会换行,其宽度随元素的内容变化:span  a    img  label  input 


块级元素可以设置 width, height属性,行内元素设置width,  height无效 【注意:块级元素即使设置了宽度,仍然是独占一行的】

块级元素可以设置margin 和 padding.  行内元素的水平方向的padding-left,padding-right,margin-left,margin-right 都产生边距效果,但是竖直方向的padding-top,padding-bottom,margin-top,margin-bottom都不会产生边距效果。(水平方向有效,竖直方向无效)

相互转换 display:inline;   display:block;

display: inline | block | none | inline-block 

行内元素是无法设置其宽和高的,行内块元素实际就是把块元素以行的形式展现,保留了块元素可以设置的对应CSS属性



行内样式 >  id声明的样式  >class声明的样式

css文件 中 后面class 覆盖前面 class

子元素样式 覆盖 继承来的样式


行内样式 >  id声明的样式  >class声明的样式     border:red; 会覆盖 继承来的 border-color:black;  以及  border-width:5px;

width height 是指 content 的高宽          只有在 ie6 是指  内容、内边距和边框的宽度的总和

虽然有方法解决这个问题。但是目前最好的解决方案是回避这个问题。也就是,不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。

IE8 及更早IE版本不支持 填充的宽度和边框的宽度属性设。

解决IE8及更早版本不兼容问题可以在HTML页面声明 即可。


pointer-events  让元素不捕获事件,可以理解为让他看得见摸不着

user-select: none;   禁止选择文本

will-change    gpu 加速


quirks    standard   !doctype

你可能感兴趣的:(选择器)