博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端开发基础2(css----选择器)
阅读量:5113 次
发布时间:2019-06-13

本文共 2684 字,大约阅读时间需要 8 分钟。

CSS介绍

  CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。

  当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。

CSS语法

CSS实例

  每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束。

CSS注释

/*这是注释*/

CSS的几种引入方式

行内样式

  行内式是在标记的style属性中设定CSS样式。不推荐大规模使用。

Hello world.

内部样式

  嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:

    
Title

外部样式

  外部样式就是将css写在一个单独的文件中,然后在页面进行引入即可。推荐使用此方式。

CSS选择器

基本选择器

元素选择器

p {
color: "red";}

ID选择器

#i1 {
background-color: red;}

类选择器

.c1 {
font-size: 14px;}p.c1 {
color: red;}

注意:

样式类名不要用数字开头(有的浏览器不认)。

标签中的class属性如果有多个,要用空格分隔。

通用选择器

* {
color: white;}

组合选择器

后代选择器

/*li内部的a标签设置字体颜色*/li a {
color: green;}

儿子选择器

/*选择所有父级是 
元素的

元素*/div>p {

font-family: "Arial Black", arial-black, cursive;}

毗邻选择器

/*选择所有紧接着
元素之后的

元素*/div+p {

margin: 5px;}

弟弟选择器

/*i1后面所有的兄弟p标签*/#i1~p {
border: 2px solid royalblue;}

属性选择器

/*用于选取带有指定属性的元素。*/p[title] {
color: red;}/*用于选取带有指定属性和值的元素。*/p[title="213"] {
color: green;}

不常见的选择器

/*找到所有title属性以hello开头的元素*/[title^="hello"] {
color: red;}/*找到所有title属性以hello结尾的元素*/[title$="hello"] {
color: yellow;}/*找到所有title属性中包含(字符串包含)hello的元素*/[title*="hello"] {
color: red;}/*找到所有title属性(有多个值或值以空格分割)中有一个值为hello的元素:*/[title~="hello"] {
color: green;}

分组和嵌套

分组

  当多个元素的样式相同的时候,我们没有必要重复地为每个元素都设置样式,我们可以通过在多个选择器之间使用逗号分隔的分组选择器来统一设置元素样式。 

例如:
div, p {
color: red;}

上面的代码为div标签和p标签统一设置字体为红色。

通常,我们会分两行来写,更清晰:
div,p {
color: red;}

嵌套

多种选择器可以混合起来使用,比如:.c1类内部所有p标签设置字体颜色为红色。

.c1 p {
color: red;}

伪类选择器

/* 未访问的链接 */a:link {
color: #FF0000}/* 已访问的链接 */a:visited {
color: #00FF00} /* 鼠标移动到链接上 */a:hover {
color: #FF00FF} /* 选定的链接 */ a:active {
color: #0000FF}/*input输入框获取焦点时样式*/input:focus {
outline: none; background-color: #eee;

伪元素选择器

first-letter

常用的给首字母设置特殊样式:

p:first-letter {
font-size: 48px; color: red;}

before

/*在每个

元素之前插入内容*/p:before {

content:"*"; color:red;}

after

/*在每个

元素之后插入内容*/p:after {

content:"[?]"; color:blue;}

before和after多用于清除浮动。

选择器的优先级

CSS继承

  继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的。继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。例如一个body定义了的字体颜色值也会应用到段落的文本中。

body {
color: red;}

  此时页面上所有标签都会继承body的字体颜色。然而CSS继承性的权重是非常低的,是比普通元素的权重还要低的0。

  我们只要给对应的标签设置字体颜色就可覆盖掉它继承的样式。

p {
color: green;}

  此外,继承是CSS重要的一部分,我们甚至不用去考虑它为什么能够这样,但CSS继承也是有限制的。有一些属性不能被继承,如:border, margin, padding, background等。

选择器的优先级

  我们上面学了很多的选择器,也就是说在一个HTML页面中有很多种方式找到一个元素并且为其设置样式,那浏览器根据什么来决定应该应用哪个样式呢?

  其实是按照不同选择器的权重来决定的,具体的选择器权重计算方式如下图:

除此之外还可以通过添加 !import方式来强制让样式生效,但并不推荐使用。因为如果过多的使用!import会使样式文件混乱不易维护。

万不得已可以使用!import

 

 

转载于:https://www.cnblogs.com/L5251/articles/8516411.html

你可能感兴趣的文章
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
万能的SQLHelper帮助类
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
Html5 离线页面缓存
查看>>
《绿色·精简·性感·迷你版》易语言,小到不可想象
查看>>
Android打包key密码丢失找回
查看>>
VC6.0调试技巧(一)(转)
查看>>
类库与框架,强类型与弱类型的闲聊
查看>>
webView添加头视图
查看>>
php match_model的简单使用
查看>>
在NT中直接访问物理内存
查看>>
Intel HEX 文件格式
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
回调没用,加上iframe提交表单
查看>>
(安卓)一般安卓开始界面 Loding 跳转 实例 ---亲测!
查看>>