前端02:CSS选择器等基础知识

2023-10-31

CSS基础选择器、设置字体样式、文本样式、CSS的三种引入方式、能使用Chrome调试工具调试样式

HTML专注做结构呈现,样式交给CSS,即结构(HTML)和样式CSS相分离
CSS主要由量分布构成,选择器以及一条或多条声明
选择器:给谁改样式
声明:改什么样的样式
在head最后写上stytle标签,css
常用的网页标签,就写在body标签中
在这里插入图片描述

CSS选择器的作用

选择器就是根据不同需求把不同标签选出来
分为基础选择器复合选择器

  1. 基础选择器由单个选择器组成,包括标签选择器、类选择器、id选择器和通配符选择器
  • 标签选择器指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式
  • 类选择器:如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器
    在这里插入图片描述

标签调用对应的类,类的格式 用.类名{},即.进行标识,后面紧跟自定义的类名
在这里插入图片描述
一个标签也可以使用多个类名,类名之间用空格分开即可

  • id选择器
    为标有特定id的HTML元素指定特定的样式,HTML元素以id属性来设置id选择器,CSS中id选择器以#来定义
    在这里插入图片描述
    注意,id只能被调用一次, 现在id的二次调用已经被实现了
    在这里插入图片描述
  • 通配符选择器
    *定义,不需要调用,自动就给所有元素使用样式

字体属性

文本属性

文本的颜色,对齐文本text-align设置对齐方式,装饰文本text-decoration,文本缩进text-indent(2em),行间距line-height

CSS的引入方式

按照CSS样式书写的位置或者引入的方式

  • 行内样式表(行内式)
    在元素标签内部的style属性中设定CSS样式,适用于修改简单样式
    <div style="color: blue;font-size: 12px;">嘎嘎</div>
  • 内部样式表(嵌入式)
    将所有的CSS代码抽取出来,单独放到一个style标签中;
  • 外部样式表(链接式)
    实际开发都是外部样式表,适合于样式比较多的情况,核心是样式单独写到CSS文件中,之后把CSS文件引入到HTML页面中使用
    1 新建css文件,CSS代码都在此文件中
    2 在HTML页面中,使用<link>标签引入这个文件<link rel="stylesheet" herf="css文件路径">
    在这里插入图片描述

Chrome调试工具

F12 or 右击空白处 检查

Emmet语法

div*3
父子关系 用> ul>li直接生成在这里插入图片描述
兄弟关系 用+ div+p 直接在这里插入图片描述
带有类名或id名的,.demo 或者 #two 在这里插入图片描述
给p标签加一个class 可以p.one
ul>li#two:在这里插入图片描述

div类名有顺序,可以用自增符号$
.demo$*5:在这里插入图片描述

  1. 复合选择器
    复合选择器aka 对基本选择器进行组合显示,有两个或者多个基础选择器,通过不同方式组合而成,主要包括后代选择器
    子选择器、并集选择器、伪类选择器等
  • 后代选择器
    又称为包含选择器,可以选择父元素里面子元素,写法是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代
    在这里插入图片描述
    元素1 元素2 { 样式声明 } 表示选择元素1中的所有元素2

  • 子元素选择器
    只能选择作为某元素的最近一级子元素
    元素1 >元素2 {样式声明} 表示选择元素1里所有直接后代元素2
    div>p{样式声明}选择div中所有最近一级p标签元素
    在这里插入图片描述
    在这里插入图片描述

并集选择器

通过逗号连接而成,任何形式的选择器都可以作为并集选择器的一部分
可以选择多组标签,同时为他们定义相同的形式,通常用于集体声明
在这里插入图片描述
标签通过逗号相连,任何形式的选择器都可以作为并集选择器的一部分,可以将选择器定义成相同的样式

伪类选择器

用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第一个,第n个元素
伪类选择器有很多,如链接伪类,结构伪类等

  • 链接伪类
    在这里插入图片描述
    注意:为了确保效果,要按照L V H A这样的顺序进行写;另外,a链接在浏览器中具有默认样式,所以在实际工作中需要给链接单独制定样式

  • :focus伪类选择器
    用于选取获得焦点的表单元素,焦点就是光标, 一般情况是类表单元素才能获取,因此这个选择器也主要针对表单元素来说
    在这里插入图片描述
    光标点到的输入框背景就会变颜色

元素的显示模式

  • 什么是元素的显示模式
    就是为了更好布局网页,了解不同类型的标签,知道元素(标签)会以什么方式进行显示,比如
    自己占一行,比如一行可以放多个 ,HTML一般分为块元素行内元素两种类型
    块级元素
    1. 独占一行
    2. 可以设置高度、宽度、内外边距
    3. 宽度默认是容器(父级宽度)的100%
    4. 是一个容器及盒子,里面可以放行内或者块级元素

注意:
文字类元素不能使用块级元素
<p>标签主要用于存放文字,因此

里面不能存放块级元素,特别是不能存放


同理 <h1>~<h6>等文字类块级标签,也不能放其他块级元素

行内元素
span是最电影的行内元素,有的地方也称为内联元素,其特点:

  1. 相邻行内元素在一行上,一行可以显示多个
  2. 高、宽直接设置是无效的
  3. 默认宽度就是它本身的宽度
  4. 行内元素只能容纳文本或其他行内元素

注意:
1 链接里不能再放链接
2 特殊情况链接里面可以放块级元素,但是给转换一下块级模式最安全

行内块元素

<img/>、<input/>、<td/>同时具有块元素和行内元素的特点,特点是:

  1. 和相邻行内元素在一行上,但是之间会有空白缝隙,一行可以显示多个
  2. 默认宽度就是本身内容的宽度
  3. 高度、行高、内外边距都可以控制(这点是块级元素特点)

元素显示模式转换

一个模式的元素需要另外一种模式的特性,如想要增加链接<a>的触发范围
display:block转换为块元素
在这里插入图片描述

display:inline转换为行内元素,举例略

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端02:CSS选择器等基础知识 的相关文章

  • 如何允许点击穿过 div 但仍然对悬停做出反应?

    说我有divA部分重叠的divB 我怎样才能允许点击divA穿过去divB但仍然有hover悬停时触发divA 我知道pointer events none 这使得点击通过 但也阻止了悬停 我也尝试过以下方法 但它不允许点击失败 docum
  • 防止拖动不可拖动元素时出现重影?

    我正在创建一个利用 HTML5 拖放 API 的网站 但是 为了增加用户体验 我想在用户拖动不可拖动元素时防止出现重影 这可能吗 此外 几乎每个元素似乎 可拖动的 默认情况下 人们可以单击然后快速拖动浏览器中的几乎任何元素 这会创建一个重影
  • 为什么要使用除 div 以外的任何东西? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 webkit 径向渐变在 Safari 中不起作用?

    这在 Chrome 中有效 但在 Safari 中无效 background webkit radial gradient center ellipse cover fdfdfd d3d3d3 我该如何修复 Safari 的问题 它甚至在
  • 使用复选框清除表单

    我正在尝试使用复选框来清除表单 但我不希望重置来清除复选框本身 我使用的代码如下
  • 将 JQuery UI Datepicker 与 Jquery UI 主题中的图标结合使用

    我有一个使用 JQuery UI 的日期选择器控件设置 我还使用 JQuery UI 主题 它提供了一堆我想使用的默认图标 DatePicker 允许指定特定图像 即 要显示图标集中的图标 您可以使用以下命令 span class ui i
  • 音频标签的 Html5 惰性“onplay”事件处理程序?

    使用新的 Html5 音频标签 onplay 事件似乎仅在第一次播放音频时触发 在此示例中 当单击 播放 时 音频将开始并显示一个显示 正在播放 的警报弹出窗口 当音频结束并再次单击 播放 时 音频会再次开始 但不会触发警报 我在这里错过了
  • 用css制作一个加号[重复]

    这个问题在这里已经有答案了 我有一个模型 用于制作看起来非常简单的加号 然而 我的 CSS 技能并不是很好 制作圆圈没什么大不了的 但在里面制作加号我似乎无法弄清楚 这就是我正在尝试做的事情 Mockup 这是我目前拥有的 到目前为止 这是
  • 表单输入不会采用百分比填充

    如果使用像素填充 我的表单输入会正确显示 但使用左侧和右侧的百分比填充会破坏它 我不明白为什么 它可以在 Safari 中运行 但在 Firefox 3 5 3 OSX 中损坏 问题是 当我使用百分比填充时 填充全部中断 因此输入值没有很好
  • 在设置后用 Javascript 替换 'var' css 属性

    我有一个元素 其上设置了 var 属性 如下所示 div class divwithbackground div CSS divwithbackground after background image var page header se
  • Bootstrap 3 水平滚动行网站设计

    我正在尝试使用 bootstrap 3 制作水平滚动网页 This http fiddle jshell net ravimallya 7kCTD 2 show 是我到目前为止所尝试过的 media min width 768px cont
  • 如何使用 Spring MVC 和 Thymeleaf 添加静态文件

    我的问题是如何添加 CSS 和图像文件等静态文件 以便我可以使用它们 我正在使用 Spring MVC 和 Thymeleaf 我查看了有关此主题的各种帖子 但它们对我没有帮助 所以我才来问 根据这些帖子 我将 CSS 和图像文件放在res
  • CSS 网格最小内容不适合内容

    我试图通过显式分配行 列和元素大小来将一些 div 放入网格中 并允许 CSS 网格使用以下 CSS 执行列和行大小调整工作 display grid grid auto columns min content 价值min content应
  • 需要一个正则表达式将 css 类添加到第一个和最后一个列表项

    更新 谢谢大家的意见 一些附加信息 它实际上只是我正在使用的一小部分标记 20 行 目的是利用正则表达式来完成工作 我还能够修改脚本 电子商务脚本 以在构建导航时插入类 我想限制我所采用的黑客数量 以便在更新到软件的最新版本时让事情变得更容
  • 如何使用 javascript 将我的域名字母大写?

    假设我的域名是www hello com 如何使用 jQuery JavaScript 使浏览器的 URL 栏看起来像 www HELLO com 您无法更改浏览器地址栏中显示的内容 这是一项基本的安全功能 您可以使您的域名全部大写 并将页
  • React Native 中 fontAwesome 图标的圆形轮廓

    我想使用 fontAwesome 图标 使其位于圆圈的中间 我想将它用作一个图标项 我读到我们可以将它与圆形图标一起使用并将其放置在其中 但我无法使其工作 import IconFA from react native vector ico
  • uncss 错误:C.UTF-8:不是有效的语言标签

    嗨 我正在尝试使用UNCSS https github com giakki uncss第一次从 CSS 中删除未使用的样式 我收到以下错误 Fontconfig 警告 忽略 C UTF 8 不是有效的语言标记 home ubuntu nv
  • 复合组件和 CSS

    I have newcss css formdiv width 30 margin 150 auto 和复合组件
  • chrome css 动画上的抖动

    尝试使用两个具有相同背景图像 svg 的居中 div 制作一个从中心淡入图像的 css 动画 并为其宽度和背景位置设置动画 问题是 在 chrome 上 存在严重的抖动问题 也许是 chrome 循环执行动画步骤 而不是同时执行它们 这是j
  • 调用一个从 AngularJS 表达式本地计算值的函数是不是很糟糕?

    我读了关于使用范围的一些 AngularJS 陷阱的文章 http thenittygritty co angularjs pitfalls using scopes 并且它指出您不应在表达式中使用函数 并且我知道每次框架认为需要时都可能会

随机推荐

  • Arthas & GC日志-JVM(十八)

    上篇文章说jvm的实际运行情况 Jvm实际运行情况 JVM 十七 Arthas介绍 因为arthas完全是java代码写的 我们直接用命令启动 Java jar arthas boot jar 启动成功后 选择我们项目的进程 进入我们可用d
  • Uniapp学习之从零开始写一个简单的小程序demo(新建页面,通过导航切换页面,发送请求)

    先把官网文档摆在这 后面会用到的 uniapp官网文档 https uniapp dcloud net cn vernacular html 一 开发工具准备 1 1 安装HBuilder 按照官方推荐 先装一个HBuilder 下载地址
  • 修复maven缓存导致Jenkins打包失败

    问题 笔者近期在公司搭建了一个内网的nexus 所以每次有新项目要部署到Jenkins时需要使用脚本将相关依赖导入到nexus上 近期笔者在Jenkins配置了一个item报错 然后将相关依赖导入nexus中 再次打包时出现下面这段异常 笔
  • 【VUE】在vue项目实践当中使用swiper轮播图教程

    步骤 1 安装vue awesome swiper npm install vue awesome swiper S 2 在vue项目中引用vue awesome swiper main js import VueAwesomeSwiper
  • Java是面向过程语言还是面向对象语言?

    目录 一 面向过程语言 二 面向对象语言 三 Java是面向过程语言还是面向对象语言 一 面向过程语言 面向过程语言是一种编程范式 它将程序设计看作是按照一定的步骤或流程进行处理的过程 在面向过程语言中 程序员需要自己定义数据结构和算法 并
  • linux的链接方式

    linux的硬链接和软链接 1 链接的概念 Linux链接分两种 一种被称为硬链接 Hard Link 另一种被称为软链接也叫符号链接 Symbolic Link 默认情况下 ln命令产生硬链接 2 硬链接 在Linux文件系统当中 保存在
  • 年入50万,程序员的第二条赛道

    大家好 我是厂长 我有个朋友 叫佩佩 这几年我亲眼见证了她从月薪6千 到年入百万 她曾经靠一条短视频带货就赚了30万佣金 最近 我看到她在做小红书无货源电商这个风口项目 两个月就做到了单店30万的战绩 她说2023年是小红书电商元年 0粉
  • 回味C语言

    虽然在实际上没怎么使用C语言了 但是看到C语言的书总是忍不住想看一下 喜欢这种至简 却又有着强大能力的语言 读完书随手写的一些笔记 略有些简单 书还是很喜欢的 推荐给大家 C专家编程 第一章 C 穿越时空的迷雾 原型决定C语言不支持函数重载
  • 小程序面试题

    1 简单描述一下微信小程序的相关文件类型 答 WXML WeiXin Markup Language 是框架设计的一套标签语言 结合基础组件 事件系统 可以构建出页面的结构 内部主要是微信自己定义的 套组件 WXSS WeiXin Styl
  • mysql 利用binlog增量备份,还原实例(日志备份数据库)

    一 什么是增量备份 增量备份 就是将新增加的数据进行备份 假如你一个数据库 有10G的数据 每天会增加10M的数据 数据库每天都要备份一次 这么多数据是不是都要备份呢 还是只要备份增加的数据呢 很显然 我只要备份增加的数据 这样减少服务器的
  • C++ 调用python

    本文代码已在vs2017上验证 c 调用python需要三类文件 这些文件都可以在python安装目录下找到 1 include文件夹 位于python目录下 2 dll文件 位于python目录下 如python37 dll 3 lib文
  • 超分辨率概述

    1 什么是超分辨率增强 Video super resolution is the task of upscaling a video from a low resolution to a high resolution 超分辨率 Supe
  • Git & GitHub 入门6:用好commit message

    git log 可以查看所有的 commit messages 修改repo中的文件内容后 add该文件 直接运行命令git commit进入message编辑状态 可以输入多行commit message说明 完成后点击ECS键退出编辑
  • Gin-swaggo为gin框架提供Swagger 文档

    官方 https github com swaggo gin swagger 开始使用 为API方法增加注释 加在controller api 层 See Declarative Comments Format 运行下面命令下载swgo g
  • L2-4 部落PTA

    在一个社区里 每个人都有自己的小圈子 还可能同时属于很多不同的朋友圈 我们认为朋友的朋友都算在一个部落里 于是要请你统计一下 在一个给定社区中 到底有多少个互不相交的部落 并且检查任意两个人是否属于同一个部落 输入格式 输入在第一行给出一个
  • hadoop3.2.1编译安装

    基础环境 centos 7 7 三台 hadoop需要的环境 Requirements Unix System JDK 1 8 Maven 3 3 or later ProtocolBuffer 2 5 0 CMake 3 1 or new
  • echart 折线图设置y轴单位_如何让echarts中y轴的单位位于数值的右上角

    展开全部 1 创建折线图的数据区 包括年份和数据 2 仅选择数据区创建折线图 插入选项卡 图表62616964757a686964616fe78988e69d8331333363396364工具组 折线图 3 得到的折线图x坐标不满足要求
  • c++可变参数模板函数

    可变参数模版函数 类型一致 可变参数 使用头文件 cstdarg va list arg ptr 开头指针 va start arg ptr n 从开头开始读取n个 va arg arg ptr T 根据数据类型取出数据 va end ar
  • jdk1.8升级后 sun.io.CharToByteConverter 错误处理

    项目工程中用到jdk1 6相关方法 可以使用 但是升级到jdk1 8以后 编译出现java lang NoClassDefFoundError sun io CharToByteConverter错误 后经查询 是jdk1 8版本中已经从s
  • 前端02:CSS选择器等基础知识

    CSS基础选择器 设置字体样式 文本样式 CSS的三种引入方式 能使用Chrome调试工具调试样式 HTML专注做结构呈现 样式交给CSS 即结构 HTML 和样式CSS相分离 CSS主要由量分布构成 选择器以及一条或多条声明 选择器 给谁