CSS3 选择器

html-css05

CSS3 选择器,第1张

css3中,追加了三个属性选择器分别为:

结构性伪类选择器由两部分构成,一是伪类选择器,一是伪元素选择器。

伪类选择器 ,要注意命名不要与系统定义好的选择器重名,例如link、hover

伪元素选择器 中包含 first-line、first-letter、before、after。

当root和body起冲突时,body就对内容区域生效,在内容区外则是root生效。

格式:not(selector)

1. first-child 对一个父元素中的 第一个 子元素进行样式的指定

2. last-child 对一个父元素中的 最后一个 子元素进行样式的指定

3. nth-child(positon) 对一个父元素中的 指定序号 的子元素进行样式的指定

4. nth-last-child 对一个父元素中的 指定倒数序号 的子元素进行样式的指定

2)使用nth-of-type(odd)和nth-of-type(even)

1)使用nth-child

2)使用nth-child(an+b),a表示每次循环中,包括几种样式,b表示指定的样式在循环中所处的位置。

only-child选择器,在元素只有一个子元素时,可以代替使用 nth-child(1)/nth-last-child(1) 。

在css3选择器中,除了结构性伪类选择器外,还有一种UI元素状态选择器——只有当元素处于某种状态下才起作用,在默认状态下不起作用。

通过js改变输入框的可输入和不可输入状态,通过css样式改变输入框可输入和不可输入状态时的背景颜色。

用来位于同一个父元素之下的,给与一个子元素平级的另一个子元素设定样式

对于像<textarea>这样可以设置overflow属性的元素,css3提供了一个resize的方法,让用户可以通过拖拽来改变框体的大小。

注意:目前只有webkit核心浏览器才支持resize属性,且只支持等比例调整

一、resize改变输入框的大小

resize属性的选项参数:

none:用户无法调整元素的尺寸

both:用户可以调整元素的高度和宽度

horizontal:用户可调整元素的宽度

vertical:用户可调整元素的高度

注意:目前只有webkit核心浏览器才支持resize属性,且只支持等比例调整

二、resize属性默认是打开的

如果想关闭resize有两种方法:

1、通过resize属性禁止对元素进行缩放。

textarea{resize: none}

例子:

css部分:

body{

    background:goldenrod

}

.box1{

    resize: none

}

html部分:

<textarea>resize属性默认是打开的</textarea>

<br/><br/><br/>

<textarea class="box1">resize禁止对元素缩放</textarea>

2、限制文本框的最大及最小宽、高。

例子:

css部分:

.box4{

    max-height: 200px

    min-height: 200px

    height: 200px

    max-width: 200px

    min-width: 200px

    width: 200px

}

html部分:

<textarea class="box4">现在文本宽的最大及最小宽、高</textarea>

三、如何只改变输入框的高度或宽度

例子:

html部分:

<textarea class="box2">可调整元素的宽度</textarea>

<br/><br/><br/>

<textarea class="box3">可调整元素的高度</textarea>

css部分:

.box2{

    resize: horizontal

}

.box3{

    resize: vertical

}

1、-moz代表firefox浏览器私有属性

2、-ms代表ie浏览器私有属性

3、-webkit代表safari、chrome私有属性

这些是为了兼容老版本的写法,比较新版本的浏览器都支持直接写:border-radius。

现在比较流行的一个概念就是:不太关键的样式,可以不考虑兼容,比如你说的圆角,并不影响内容的显示,如果客户浏览器太旧,就让他看到旧的方形效果就是,一定要看到新效果,只能建议客户升级浏览器。