css选择器

什么是选择器?

  选择器是你构造好网页的结构,需要给这些结构赋予样式,这时候就需要用到选择器,利用选择器将元素与样式一一对应;两者的对应关系可以是一对一,一对多,多对一。

选择器的分类:

  这里我只展示几种比较常见的类型,

  1. 标签选择器

    给同一种标签添加样式,例如:

    标签名{

      属性名:属性值;

    }

        <style type="text/css">
p{
color: turquoise;
}
div{
width: 50px;
height: 50px;
background-color: #CCCCCC;
}
</style>
</head>
<body>
<p>段落1</p>
<div>文本1</div>
<p>段落2</p>
<div>文本2</div>
<p>段落3</p>
</body>

效果图如下:

  2. 通用选择器(通配符)

    给所有的标签添加样式。

    *{

      属性名:属性值;

    }

    注意:通用选择器是先遍历网页中的所有标签,然后再给这些标签添加样式,因此这个选择器的性能十分的低,不推荐使用,一般只会在测试的时候,用于css的初始化。

  3. 类选择器(class)

     给同一个类(同一个群体)的标签添加样式,前提是这些标签的类名是一样的。

    .类名{

      属性名:属性值;

    }

        <style type="text/css">
.aa{
color: red;
}
</style>
</head>
<body>
<p class="aa">段落1</p>
<div class="aa">文本1</div>
<p>段落2</p>
<div>文本2</div>
<p class="aa">段落3</p>
</body>

效果图如下:

    值得注意的是:一个类名可以给多个标签,一个标签也可以拥有多个类名,多个类名之间用空格( )隔开。

  4. ID选择器

    给ID名相同的标签添加样式

    #ID名{

      属性名:属性值;

    }

    关于id,在写代码的时候尽量少用id,因为id占两个字符,而class只占一个字符。

    注意:一个标签最好只用一个ID名,一个ID只能给一个标签。

  5. 后代选择器

    选择的是某一个元素的后代元素,父级与子级之间用空格( )隔开

    父级 子级{

      属性名:属性值;

    }

        <style type="text/css">
.ab p{
color: red;
}
</style>
</head>
<body>
<p class="aa">段落1</p>
<div class="ab">
<p>段落2</p>
<div>文本2</div>
<p class="aa">段落3</p>
</div>
</body>

效果图如下:

  6. 子代选择器

    选择的是某一个元素的直接后代元素,父级与子级之间用">"隔开

    父级>子级{

      属性名:属性值;

    }

        <style type="text/css">
.ab>div{
color: red;
}
.ab>p{
color: blue;
}
</style>
</head>
<body>
<p class="aa">段落1</p>
<div class="ab">
<p>段落2</p>
<div>文本2</div>
<p class="aa">段落3</p>
</div>
</body>

效果图如下:

  7. 相邻兄弟选择器

    选择的是紧挨着该元素后面的一个元素。

    元素名+兄弟名{

      属性名:属性值;

    }

        <style type="text/css">
.aa+div{
color: red;
}
.aa~span{
color: blue;
}
</style>
</head>
<body>
<p class="aa">段落1</p>
<div class="bb">文本1</div>
<span>段落2</span>
<div>文本2</div>
<span class="cc">段落3</span>
</body>

  8. 通用兄弟选择器

    选择的是该元素后面的所有的某一类兄弟。

    元素名~兄弟名{

      属性名:属性值;

    }

        <style type="text/css">
.aa+div{
color: red;
}
.aa~span{
color: blue;
}
</style>
</head>
<body>
<p class="aa">段落1</p>
<div class="bb">文本1</div>
<span>段落2</span>
<div>文本2</div>
<span class="cc">段落3</span>
</body>

  相邻兄弟选择器与通用兄弟选择器的效果图如下:

CSS入门介绍(二)CSS选择器的更多相关文章

  1. H5教程(二),CSS入门(一)选择器

    这是我的第二篇博客,H5教程CSS入门,适合刚开始学习H5的新手,让我们共同进步. 1.  CSS简介 1.1  CSS是什么? CSS称为样式层叠表,是用于增强或控制网页样式,并允许将样式信息与网页 ...

  2. CSS入门介绍

    一.背景 这里将陆续介绍前端CSS中相关知识,先介绍CSS2.1,后续会介绍CSS3的相关属性,通过该系列的文章,希望能给准备转战前端的人员一些帮助,同时也帮助自己梳理知识,文章中如有错误,欢迎指出. ...

  3. html和css入门 (二)

    CSS基础 什么是CSS 简单来说,层叠样式表(Cascading Style Sheet)是一种专门用来控制界面外观风格的文档. CSS发展历史 1996年 CSS 1.0 规范面世,其中加入了字体 ...

  4. JavaScript入门介绍(二)

    JavaScript入门介绍 [函数] 函数function 是Javascript的基础模块单元,用于代码的复用.信息影藏和组合调用. function a(){} 函数对象Function Lit ...

  5. mybatis入门介绍二

    相信看过我的上一篇博客的同学都已经对mybatis有一个初步的认识了.这篇博客主要是对mybatis的mapper代理做一下简单的介绍,希望能够帮助大家共同学习. 我的上一篇博客:mybatis入门介 ...

  6. CSS入门介绍(一)

    css 层叠样式表(英文名:Cascading Style Sheets),主要用于美化网页 1.css的表现形式 1.1 行内样式(内嵌样式) 写在标签内的样式,写在标签的开始部分的内部,style ...

  7. HTML与CSS入门——第二章 发布Web内容

    知识点: 1.使用文本编辑器创建一个基本的HTML文件的方法 2.使用FTP将文件传送到你的Web服务器的方法 3.文件在Web服务器上应该存储的位置 4.在没有Web服务器的情况下分发Web内容的方 ...

  8. CSS基础语法(二) CSS的9种选择器

    样式表的选择器 1.类选择器 根据HTML标签的class属性选择样式应用的属性 .类值{ … } 2.ID选择器 根据HTML标签的ID属性选择样式应用的元素 #id值{ … }  3.标签选择器 ...

  9. web前端知识大纲:系列二 css篇

    web前端庞大而复杂的知识体系的组成:html.css和 javascript 二.css 1.CSS选择器 CSS选择器即通过某种规则来匹配相应的标签,并为其设置CSS样式,常用的有类选择器.标签选 ...

随机推荐

  1. Docker下安装rabbitmq

    拉取镜像 docker pull rabbitmq:-management 启动镜像(默认用户名密码),默认guest 用户,密码也是 guest docker run -d --: -p : rab ...

  2. react实战项目开发(2) react几个重要概念以及JSX语法

    前言 前面我们已经学习了利用官方脚手架搭建一套可以应用在生产环境下的React开发环境.那么今天这篇文章主要先了解几个react重要的概念,以及讲解本文的重要知识JSX语法 React重要概念 [思想 ...

  3. [Android] Android 实现类似 今日头条 视频播放列表

    演示实例如下: Talk is cheap. Show me the code 话不多说,代码在这里下载! https://github.com/wukong1688/Android_BaseVide ...

  4. Chrome 禁止从页面打开 Data URI 网址了

    现如今,网民的网络账户被盗,很有可能是被“钓鱼”了.去年的一份安全报告中指出:“近85%的资金损失是通过钓鱼网址泄露支付信息造成的”. 传统的钓鱼网站通常是申请一个和被冒充网站相似的域名,比如 tao ...

  5. spring和mybatis的整合开发(基于MapperFactoryBean的整合开发(方便简单不复杂))

    MapperFactoryBean是mybati-spring团队提供的一个用于根据mapper接口生成mapper对象的类. 在spring配置文件中可以配置以下参数: 1.mapperInterf ...

  6. IN-子查询

    为什么需要子查询? 现实中,很多情况需要进行以下条件的判断 集合成员资格 某一元素是否是某一个集合的成员 集合之间的比较 某一个集合是否包含另一个集合 集合基数的测试 测试集合是否为空 测试集合是否存 ...

  7. JVM--01

    ---恢复内容开始--- jdk  jre  jvm 的关系 java7的结构图 java8 jvm内存溢出 jdk /bin 目录下的jconsole java发展历史 oak:用在嵌入式设备上 相 ...

  8. centos7.6编译安装php7.2.11及redis/memcached/rabbitmq/openssl/curl等常见扩展

    centos7.6编译安装php7..11及redis/memcached/rabbitmq/openssl/curl等常见扩展 获取Php的编译参数方法: [root@eus-api-cms-bac ...

  9. 拓扑排序(Topological Sorting)

    一.什么是拓扑排序 在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列.且该序列必须满足下面两个 ...

  10. Mysql --数据的增删改

    插入数据 INSERT 更新数据 UPDATE 删除数据 DELETE 一. 在mysql管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 1.使用insert实现数据的插入 2.u ...