基础

  • #id{} ID 选择器

  • .class{} 类选择器

  • tag{} 标签选择器,tag 可以是 h1, p, div, span, img, nav, footer...

  • *{} 通用选择器,选择所有元素,可以和其他复杂选择器组合

<div class="class1 class2" id="my-id"></div>

注:每个元素可以有多个类,例如上面的 HTML,在 CSS 中无论 .class1 还是 .class2 都可以选择到该 div

组合

  • A B:后代选择器,选择 A 的所有 B 后代
  • A > B:直接后代选择器,只选择 A 的直接后代 B,不选择 B 的后代
  • A + B:相邻选择器,例 .container + div{} 选择 container 之后,同一层的紧邻 div(如果下一个元素不是 div,不选择任何元素)
  • A ~ B:同级选择器,例 .container ~ div{} 选择 container 之后,同一层的所有 div
  • * 也可以和其他的选择器组合:.container ~ *{} 选择 container 之后,同一层的所有元素
  • A,B,C 满足 A,B,C 任一条件即可
    • 例如 #my-id,span,.container{} 可以同时选择 id、tag、class
  • 同时满足多个条件的选择器
    • div.container{}:选择类为 container 的 div
    • p#my-id{}:选择 id 为 my-id 的 p
    • a.highlight:hover{} 选择指针指向的、class 为 highlight 的链接,如 <a class="highlight" href="#">download</a>

属性选择器

  • [target] 选择带有 target 属性的所有元素
  • a[href^="http://"]{} 以 http 开头的链接
  • a[href$=".cn"]{}以 .cn 结尾的链接
  • a[href$="book"]{} 含有 book 的链接

伪类选择器

例子:

  • a:hover{} 选择指针指向的链接
  • a.highlight:hover{} 选择指针指向的、class 为 highlight 的链接,如 <a class="highlight" href="#">download</a>
  • .container div:nth-child(2) {} container 中的的第二个 div
  • .container div:nth-child(even) {} container 中的第偶数个 div
  • .container div:nth-child(3n+0) {} container 中的第 3/6/9... div

伪元素选择器

例子:

  • clearfix:.float-container::after{content:'';clear:both;display:block;}
  • h1::before{content:"~";}
  • p::after{content:url(image/icon.png);}

Reference

CSS 基础 5 - CSS 选择器的更多相关文章

  1. HTML&CSS基础-伪元素选择器

    HTML&CSS基础-伪元素选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> ...

  2. HTML&CSS基础-伪类选择器

    HTML&CSS基础-伪类选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> & ...

  3. css基础--常用css属性02

    上篇地址:css基础--常用css属性01 本文参考菜鸟教程和w3school 1  浮动和清除浮动 在上篇的第十一节--定位中说道: CSS 有三种基本的定位机制:普通流.浮动和绝对定位. 普通流和 ...

  4. HTML5 -入门 (---css样式-------------(css基础与css选择器)---------------------—)

    ---恢复内容开始--- 一css基础入门与css选择器 CSS英文全拼:cascading style sheet 层叠样式表. 在html中使用:要在head中写style标签,所有样式放在sty ...

  5. CSS 基础知识点 样式 选择器 伪类

    CSS 基础知识点汇集 版权声明:这篇博客是别人写的,大神博客地址 : https://www.cnblogs.com/Mtime/p/5184685.html 1.CSS 简介 CSS 指层叠样式表 ...

  6. CSS基础语法与选择器

    CSS基础 语法 : <head> <style type="text/css"> 选择器(即修饰对象){ 修饰属性:属性值; 修饰属性:属性值; } &l ...

  7. 【css学习整理】css基础(样式,语法,选择器)

    CSS是什么? cascading 层叠样式表 sheet 样式文件 style 外观个性化 CSS语法? 声明方法: 选择器(属性: 值; 属性: 值) 选择器: 通过名称制定对哪些标签进行样式设置 ...

  8. 一、HTML和CSS基础--HTML+CSS基础课程--第2部分

    第三章 与浏览器交互,表单标签 使用表单标签,与用户交互
网站怎样与用户进行交互?答案是使用HTML表单(form).表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的 ...

  9. Html+CSS基础之CSS样式

    认识CSS样式 CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小.颜色.字体加粗等. 如下列代码: p{ fo ...

  10. 前端学习——css基础知识,选择器与html模板、值得收藏的html标签

    一.css需要的html(采用html5标准) DTD,文档类型声明: <!Doctype html> 文本编码声明: <meta charset="utf-8" ...

随机推荐

  1. 使用SemanticKernel 进行智能应用开发(2023-10更新)

    以OpenAI 的ChatGPT 所掀起的GenAI 快速创新浪潮,其中连接LLM 和 应用之间的桥梁的两大开源项目:LangChain[1]和Semantic Kernel[2] ,在半年前写过一篇 ...

  2. SpringBoot2.7升级到3.0的实践分享

    背景 最近把项目中的技术框架做一次升级,最重要的就是SpringBoot从2.7.x升级到3.0.x,当然还会有一些周边的框架也会连带着升级,比如Mybatis Plus,SpringCloud等,话 ...

  3. JDK对于Java的作用

    JDK是Java Development Kit的缩写,是Java的开发工具包(SDK).JDK 是整个 Java 的核心,包括 Java 运行环境(Java Runtime Envirnment,简 ...

  4. k8s-单节点升级为集群(高可用)

    单master节点升级为高可用集群 对于生产环境来说,单节点master风险太大了. 非常有必要做一个高可用的集群,这里的高可用主要是针对控制面板来说的,比如 kube-apiserver.etcd. ...

  5. Acwing76场周赛

    题目链接 这次还是只做出来两道题,前两题都挺简单的,注意第二题需要开long long不开会wa,代码粘上来,以后可能会看吧 第一题 #include<iostream> #include ...

  6. synchronized 解决方案

    4.2 synchronized 解决方案 为了避免临界区的竞态条件发生,有多种手段可以达到目的. 阻塞式的解决方案:synchronized,Lock 非阻塞式的解决方案:原子变量 本次课使用阻塞式 ...

  7. Hyper-V中的虚拟机(Centos)安装FTP服务

    linux上是否装上了ftp服务命令: rpm -qa | grep vsftpd ,若没有安装(无显示版本号)则进行下一步 安装ftp服务,命令: yum -y install ftp vsftpd ...

  8. gametime

    这道题是动态调试的考点,看了wp才有思路 像这样的游戏题一定要搞清楚他的具体游戏流程才能更好的做出来,然后根据他的思路去改掉相关的判断就可以了 攻防世界逆向高手题之gametime_攻防世界 game ...

  9. 动态规划——提高Ⅴ(DP优化)

    单调队列优化DP 其实单调队列就是一种队列内的元素有单调性(单调递增或者单调递减)的队列,答案(也就是最优解)就存在队首,而队尾则是最后进队的元素.因为其单调性所以经常会被用来维护区间最值或者降低DP ...

  10. freeswitch的一个性能问题

    概述 freeswitch是一款简单好用的VOIP开源软交换平台. 在fs的使用过程中,会遇到各种各样的问题,各种问题中,性能问题是最头疼的. 最近在测试某些场景的时候,压测会造成fs的内存占用持续升 ...