css的复合选择器

html-css012

css的复合选择器,第1张

在CSS中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。

复合选择器可以更准确、更高效的选择目标元素(标签)。

复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。

常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等。

后代选择器又称为包含选择器,可以选择父元素里面的子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

语法:

元素1 元素2 {样式声明}

上述语法表示选择元素1里面的所有元素2(后代元素)。

例如:

元素1和元素2中间用空格隔开。

元素1是父级,元素2是子级,最终选择的是元素2。

元素2可以是儿子,也可以是孙子等,只要是元素1的后代即可。

元素1和元素2可以是任意基础选择器。

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。简单理解就是选亲儿子元素。

语法:

上述语法表示选择元素1里面的所有直接后代(子元素)元素2。

例如:

元素1和元素2中间用大于号(>)隔开。

元素1是父级,元素2是子级,最终选择的是元素2。

元素2必须是亲儿子,其孙子、重孙之类都不归他管。也可以叫他亲儿子选择器。

并集选择器、伪类选择器等等。

并集选择器可以同时选择多组标签,同时为他们定义相同的样式。通常用于集体声明。

并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。

语法:

上述语法表示选择元素1和元素2。

元素1和元素2中间用逗号隔开。

逗号可以理解为和的意思。

并集选择器通常用于集体声明。

伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。

伪类选择器书写最大的特点是用冒号(:)表示,比如:hover、:first-child。

因为伪类选择器很多,比如有链接伪类、结构伪类等,所以看这里先给大家讲解常用的链接伪类选择器。

1.为了确保生效,请按照 LVHA 的循顺序声明::link-:visited-:hover-active。

2.因为a链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式。

二链接伪类选择器实际开发中的写法:

:focus伪类选择器用于选取获得焦点的表单元素。

焦点就是光标,一般情况<input>类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

简单的代码实现,仅供参考:

单选框:

<body>    <input type="radio" name="sex" value="n" />    <input type="radio" name="sex" value="v" /></body>

复选框:

<body>    <input type="checkbox" value="n" />    <input type="checkbox" value="v" /></body>

下拉框:

<body>    <select>        <option>n</option>        <option>n</option>        <option>n</option>    </select></body>

扩展资料:

css注意事项

1、每个标签的属性设置必须是被一对花括号包含。像下面的样子:

标签

{

属性名称:属性值

}

2、花括号中每个属性值赋值后必须用分号隔开。分号就相当于C#和C中的分号,指示一行语句的结束,加上分号就是和网页的解释器说明这个属性的赋值已经结束了,下面开始一个新的属性的赋值。正确的格式是下面的样子:

标签

{

属性名称1:属性值

属性名称2:属性值

属性名称3:属性值

}

3、关于颜色值。我们在前面的文章中,在设置style时,不论是color属性还是background-color属性,赋值时都是指定的颜色名称。这种方式在网页编程中比较不通用。比较常用的做法是赋16进制值,类似于#RRGGBB这种样式,每一位的取值都是从1到F,每两位对应一类颜色值。具体的颜色值可以在网上搜到。

4、关于字体。我们在style中的font-family中设置字体。有时候我们设置的字体可能用户电脑中没有,这时候我们可以在font-family中设置多个可选字体,用逗号分隔,这样如果前面的字体用户电脑中没有,则可以使用后面的字体进行替换。下面是个例子:

<p sytle="font-family:serif,Cursive,Fantasy">

参考资料来源:百度百科:CSS

简单的动画”复选框

设置HTML创建一个标准的无序列表(为了方便测试,特别复制出一份代码)

<ul>

<li>

<input type="checkbox" name="manager" id="manager" />

<label for="manager">Project Manager</label>

</li>

<li>

<input type="checkbox" name="webdesigner" id="webdesigner" />

<label for="webdesigner">Web Designer</label>

</li>

<li>

<input type="checkbox" name="webdev" id="webdev" />

<label for="webdev">Web Developer</label>

</li>

<li>

<input type="checkbox" name="seo" id="seo" />

<label for="seo">SEO</label>

</li>

<li>

<input type="checkbox" name="itstaff" id="itstaff" />

<label for="itstaff">IT Staff</label>

</li>

<li>

<input type="checkbox" name="csr" id="csr" />

<label for="csr">Customer Service Representative</label>

</li>

</ul>

首先,隐藏复选框

/* Hide the Ordinary Checkbox */

input[type="checkbox"] {

display: none

}

然后需要在我们的列表和标签标记的相对位置和填充设置一些样式。

下一步需要使用伪代码在标签之前和之后设置样式。对于这部分,我们将设置复选框Font Awesome,用一个矢量图标。

/* Checkbox Icons */

label {

position: relative

padding-left: 30px

font-size: 30px

cursor: pointer

color: #fff

padding: 16px 28px 0 0

}

label:before, label:after {

font-family: FontAwesome

font-size: 50px

/*absolutely positioned*/

position: absolutetop: 0left: -49pxright: 10px

}

现在我们需要设置图标步骤之前和之后的复选框。

label:before {

content: '\f096'/*checkbox unchecked */

}

label:after {

content: '\f00c'/*checkbox checked*/

max-width: 0

overflow: hidden

opacity: 0.5

font-size: 27px

top: 16px

left: -42px

color: #f2ca27

-webkit-transition: all 0.50s

-moz-transition: all 0.50s

-o-transition: all 0.50s

transition: all 0.50s

}

最后一步是设定一个目标,文本框和复选框后的伪代码,并给它一个最大宽度25像素之间和不透明度1。

/* Animating the Checkbox Icon */

input[type="checkbox"]:checked + label:after {

max-width: 25px

opacity: 1

margin-right: 90px

}