我们知道通过CSS定义页面样式的时候要用到各种各样的选择器,正确的使用选择器是我们能够正确使用CSS做页面样式的基础。下面是我学习选择器的一个简易笔记,举一些简单的例子。

为了方便展示,我选择在内部的style内写CSS的样式。但一般为了分离样式方便修改,多实用外部样式,用link标签。

1.标签选择器,即通过标签来定义样式。

例如:下面是通过标签p来定义了文字的颜色和位置等。

2.id选择器,即通过标签内的id元素来选择相应的标签,定义其元素。每个标签的id一定要是独一无二的,不同的标签不能有相同的id。

可以定义不同的标签不同的样式。

例如:

下面是演示结果:

3.class选择器,即通过元素class来选择对应标签,但是不同于id选择器的是class选择器可以是不同标签对应相同的class。可以方便的对多个相同class的标签定义样式。

例如:

下面是演示结果:

4.属性选择器。用"[ ]"选择相应标签的属性,若是有此标签的或者“[ ]”内的标签值是正确的,则可以定义相应标签的样式。

例如:

下面例子定义了所有有class元素的标签的样式。

演示结果如下:

这个例子是只定义有特定class值的标签的样式。

下面是演示结果:

这个例子是用来选择以什么开头的指定属性或者以什么结尾的指定属性的标签。

比如下面的例子中的  " ^= "(匹配开头相等的元素) 和  " $= "(匹配结尾相等的元素)  和 " *= "(匹配出现这个字符串的元素,无论在中间,开头或者结尾都可以)

下面是选择了所有以“para”开头的class属性的p标签的样式的演示结果:

再比如用“ $= ”匹配结尾等于什么的方式,下面只是匹配了第一个p标签。

下面是演示结果:

下面的例子演示“ *= ”匹配

匹配了含有“a para_2”的这个字符串的class元素的p标签,即第二个p标签。

下面是演示结果:

当然任意的选择器都是可以相互组合的,比如下面的例子:

匹配了class元素中结尾为para_1的第一个p标签和用id选择器匹配的第二个p标签。

上述的四种基本的选择器都是可以相互组合的,之间用“,”隔开即可,这个是对多个需要定义样式的标签的选择。

5.伪类

用于对于DOM中链接样式的定义.

例如下面例子:

下面是结果演示:

左边是点击过链接之后的颜色,右边是鼠标放在链接上的颜色。

 

6.选择器的组合(这一块很好理解,可以自行google,就不举例子了)

1》直接组合 EF,这样相当于是交集,选择的是两个选择器都满足的标签。比如:#para1[class $= "para_1"]即是选择第一个p标签

2》后代组合 E F,之间有空格,这样,相当于选择满足E的标签中的F标签。比如:div p{...;}这样就是选择所有div标签中的p标签

3》亲子组合E > F,这样的组合有点类似用后代组合,但是只能是嵌套一层的标签才是亲子标签。

同时为一组选择器定义样式的方式是中间用“ , ”隔开,例子如下所示:

   

以上只是我新学CSS的一点个人总结,由于水平有限,要是有错误,可以随时纠正我,不清楚的地方可以自行google。

CSS简单选择器的学习笔记的更多相关文章

  1. 《CSS 设计指南》学习笔记 一

    本篇文章是对这几天看完 Charles Wyke-Smit 的 <CSS 设计指南> 后的一些学习笔记与心得,笔者好像是大一的时候开始接触网页设计,由于并不是计算机专业的,所以所有都是自己 ...

  2. java maven、springmvc、mybatis 搭建简单Web项目学习笔记

    前言: 空余的时间,学学 Java,没准哪天用的到: 环境搭建折腾了好几天,总算搞顺了,也做个学习笔记,以防后面会忘记: 一.安装文件及介绍 JDK:jdk1.8.0 77 eclipse-maven ...

  3. css部分基础归纳--学习笔记

    (1)css不区别大小写: (2)颜色值:颜色值可以写成RGB格式,如:color:rgb(255,100,0),也可以写成十六进制格式,如:color:#ff0000.如果十六进制的值是成对重复的可 ...

  4. python简介以及简单代码——python学习笔记(一)

    学习来源:https://www.liaoxuefeng.com/wiki/1016959663602400 了解python 简单编写并实现python代码 命令行模式和python交互模式 了解p ...

  5. CSS响应式布局学习笔记(多种方法解决响应式问题)

    在做web开发的工作中,会遇到需要我给页面根据设计的要求,进行响应式布局,这里跟大家分享下我对于响应式布局的解决方法: 我主要利用的是CSS3 媒体查询,即media queries,可以针对不同的媒 ...

  6. CSS中filter滤镜学习笔记

    1.CSS静态滤镜样式 (filter)(只有IE4.0以上支持)  CSS静态滤镜样式的使用方法:{ filter : filtername( parameters1, parameters2, . ...

  7. 简单的BFS学习笔记

    什么是BFS传送门. 今天学习BFS,加油! 先定义个数组: struct Node{ int a=0; int b=0; int step=0; }; int map[5][4]={//地图 0,0 ...

  8. 简单配置umiJS学习笔记

    最近跟着Antd-Pro官方教程学习umi,这里给大家推荐一下这个教程,特别适合初学者学习,教程涉及了AntD,AntD-Pro,umiJS,dvaJS等框架知识. 学习过程中跟着教程做了个Demo, ...

  9. Makefile的简单编写【学习笔记】

    首先我们先创建两个简单的文件: main.c #include <stdio.h> extern void hi_fun(); int main() { printf("hell ...

随机推荐

  1. 15.Ansible安装与配置简单版

    Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,可以并发的在多台机器上部署应用.安装软件.执行命令.配置和编排任务. 一.Ansible工作机制 从图中可 ...

  2. oracle练手(一)

    练手001 1.列出至少有一个员工的所有部门 select dname from dept where deptno in (select deptno from emp); select dname ...

  3. NIO总结-----Buffer

    Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的. 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被包装成NIO ...

  4. LINQ 多条件join on

    var  tmp = from a in DT1.AsEnumerable() join b in DT2.AsEnumerable() on new { bm = a.Field<string ...

  5. Qt使用自带的windeployqt 查找生成exe 必需的库文件

    集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:Qt Widgets Application  和 Qt Quick Application.下面分别介绍这两类exe ...

  6. VisualVM的使用

    1.解压压缩包(如visualvm143.zip) 2.修改etc/visualvm.conf 中的visualvm_jdkhome配置 3.双击bin/visualvm.exe 4.安装插件,可能一 ...

  7. 7.移动端自动化测试-小知识 try...except...finally语句

    异常Error 我们在写代码的时候,经常会遇见程序抛出Error无法执行的情况 一般情况下,在Python无法正常处理程序时就会发生一个异常.异常是Python对象,表示一个错误.当Python脚本发 ...

  8. 使用LaTeX和KnitR自动生成报告

    扩展名为.Rnw(Rtex)的文件就是包含了R代码的LaTeX文档.编译的时候,先用Rscript调用Knitr处理,生成.TeX文档,然后用pdfLaTeX/XeLaTeX编译成PDF. 最方便的编 ...

  9. SSO单点登录 与 CAS

    本文转载自http://www.imooc.com/u/2245641/articles非常好的sso单点登录理解文章 作者: 常明,Java架构师 Web应用系统的演化总是从简单到复杂,从单功能到多 ...

  10. Celery 初步使用心得

    一. 基本介绍 Celery是一个专注于实时处理和任务调度的分布式任务队列.所谓任务就是消息,消息中的有效载荷中包含要执行任务需要的全部数据. 使用Celery常见场景: Web应用.当用户触发的一个 ...