css选择器是指:css样式作用对象的选择,常用的选择器有基础选择器、结构选择器以及伪类选择器。
css基础选择器
1.标签选择器
标签选择器是通过html标签来确定所修饰的对象,例如对p标签进行修饰就可以直接使用p{ 属性:属性值}进行修饰。
2.id选择器
id选择器是通过在定义标签时的唯一id来获取所修饰的对象用法是通过在id前加上 # 来识别,例如:
2.id选择器
id选择器是通过在定义标签时的唯一id来获取所修饰的对象用法是通过在id前加上 # 来识别,例如:
<p id="text">nihao</p>
#text{属性:属性值}
3.类选择器
由于id是唯一的,如果我们想对一个类别统一进行样式处理,我们就可以为他们统一定义一个类,样式选择器可以通过这个类名统一进行样式处理,用法是在类名前加上 . 即可,例如:
<form>
<input class="login" type="text"/>
<input class="login" type="button"/>
</form>
.login{属性:属性值}
4.通配符选择器
使用*通配符可以选择所有元素*{属性:属性值}。
5.后代选择器
由于许多标签具有父子等关系,我们也可以通过这个关系来选择子类元素。 父类 子类{属性:属性值} //如果还有孙类元素会被一并选中,如果要只选择孙类元素则需要一直写到孙类 例如:父类 子类 孙类{属性:熟悉值}
6.并集选择器
有这样的一种场景,我们需要对不同标签且不具有包含关系的元素进行修饰,我们就可以使用并集选择器,用法是将不同标签之间使用 , 分隔,然后一一列出即可#login, p, #user{属性:属性值}。
7.子元素选择器
在我们使用后代选择器时会存在包含关系的影响,子元素选择器时通过指定某个确定的子元素同时不存在孙子元素的包含问题(选择了一个子元素进行修饰时不会将子元素内包含的孙子元素一同修饰)。 用法是父元素 > 子元素{属性:属性值}
8.兄弟选择器
兄弟选择器可以选择相同的元素兄弟,例如h标签后跟着多个标签p标签我们就可以使用h1~p{属性:属性值}来选择紧跟h1标签后所有的p标签 h1+p{属性:属性值}表示选择紧跟h1标签后的第一个p标签
9.属性选择器
属性选择器是根据多个相同标签但其属性值不同来区别被选择对象的,其用法例如:img[alt]来选择img标签中具有alt属性的元素
- input[type=text“”]用于选择input标签中属性值为text的元素
- div[class ^="a"]可以用来选择div标签中class属性值以a开头的元素
- div[class *="a"]可以用来选择div标签中class属性值以包含a的元素
- div[class $="a"]可以用来选择div标签中class属性值以a结束的元素
css伪类选择器
伪类选择器和基础选择器不同,它不能自定义名字,主要是用来针对标签不同状态、不同行为、不同特征来实现不同样式。
1.链接伪类选择器
链接伪类选择器主要是针对超链接 a 标签的,针对a标签的不同状态有如下伪类选择器:
- a:link--------未点击前的样式
- a:hover--------鼠标悬停时的样式
- a:active--------点击时的样式
- a:visited--------点击后的样式
<a id="lj" href="http://www.baidu.com" >百度</a>
#lj:hover{ color: red; }
2.行为伪类选择器
行为选择器和上面的链接伪类相似,不同行为选择器是根据标签元素的行为来展示不同样式的,所以相对于链接伪类功能会减少
- 标签:hover-----鼠标悬停在该标签上时的样式
- 标签:active-----鼠标点击在该标签上时的样式
- 标签:focus-----该元素成为焦点时的样式
<form>
<input id="text" type="text" />
</form>
----------------------
#text:focus{
background: cornflowerblue;
}
3.结构伪类选择器
除了上面的选择器我们还可以通过文档结构来选择相应的元素从而减少id和class的使用
- E:only-child----------匹配父类唯一的一个子元素
- E:first-child----------匹配父类第一个子元素
- E:last-child----------匹配父类最后一个子元素
- E:nth-child(n)----------匹配父类第n个子元素
- E:nth-last-child----------匹配父类倒数第n个子元素
- E:only-of-type----------匹配父类唯一的一个同级兄弟元素
- E:first-of-type----------匹配父类第一个同级兄弟元素
- E:last-of-type----------匹配父类最后一个同级兄弟元素
- E:nth-of-type(n)----------匹配父类第n个同级兄弟元素
- E:nth-last-type----------匹配父类倒数第n个同级兄弟元素
- E:empty----------匹配没有子元素,或者文本内容为空的所有元素
4.伪元素
伪元素是针对标签中的元素进行设置,主要是用在对文本进行样式修饰,例如:
- E:first-letter------用于对文本第一个词进行设置
- E:first-line------用于对文本第一行进行设置
- E:before------用于对该元素前添加内容
- E:after------用于对该元素后添加内容
三、CSS常用样式
css的链如方式<link href="url" type="text/css" rel="stylesheet"/>
1.字体样式设置
- font-family:"字体名称"-----用于指定字体名称
- font-size:字体大小-----用于指定字体大小
- font-color:字体颜色-----用于指定字体颜色
- font-sytle:字体样式-----用于指定字体样式(斜体等)
- font-weight:字体加粗-----用于指定字体的加粗程度(nomal、bold、bolder、lighter、number(整百的倍数)) 处理使用上面的单个样式也可以使用font:属性值来综合处理字体样式,不过要按照style、variant(首字母大写)、weight、size、family的顺序来执行,同时还要注意必须要设置字体和字体大小否则其他样式无效。
假如需要使用一些特殊字体时,可以使用@font-face{font-family:字体名称; src:字体存储路径}先来设置服务器字体,这样就可以在进行font-family使用这个字体了。
2.字符间距设置
- letter-spacing:nomal/长度(数字)----来设置字符间距
- word-spacing:nomal/长度(数字)----来设置单词间距
3.文本修饰
- text-decoration:underlin(下划线)、overline(上划线)、line-through(删除线)
- text-align:center、left、right、justif-----文本对齐方式
- text-indent:2em-----文本缩进2字符
- white-space:normal、pre、nowrap-----空白符处理
- text-shadow:(h(水平长度),v(垂直长度),blur(模糊程度),color(颜色))------文字阴影效果 未完待续.....