前端三剑客 —— CSS (第一节)

目录

CSS

什么是CSS

CSS的几种写法:

行内样式

内嵌样式

外链样式

@import

加载顺序

CSS选择器***

基本选择器

ID选择器

标签选择器

类选择器

通用选择器

 包含选择器


上节内容中提到了 前端三剑客 —— HTML 超文本标记语言,这节内容 跟大家讲述三剑客中的第二个 CSS。

CSS

什么是CSS

Cascading Style Sheel,简称CSS,中文叫层叠样式表,也叫级联样式表。主要作用是来修饰HTML页面的一种技术。

CSS的几种写法:

1.行内样式

2.内嵌样式

3.外链样式

4.@import

行内样式

我们要某个HTML标签中去书写样式,它需要使用style属性来指定。

弊端:不利于我们的代码维护。

那如何解决这个问题呢???  ———— 使用内嵌样式

内嵌样式

内嵌样式又叫页面样式,它的作用是对当前整个页面有效。使用它需要把样式写在一个叫style的标签,一般这个标签会放在head部分

弊端:若存在很多文件需要这个样式,如:阿里、京东商城,那么我们仍然需要在各个文件中来编写一次。

如何解决这个问题??? ———— 采用外链样式

外链样式

我们需要把公共的样式编写在一个单独的文件,这个文件的后缀是  .css  ,然后在需要引入的文件中通过link标签来使用这个外部样式文件

首先定义外部样式:通常我们需要把外部样式放到一个名为css的目录下

然后编辑页面,并使用外部样式:

通过link标签来使用外部样式,在link标签中需要指定rel属性,它的值是stylesheel,并通过href属性来引入外部的样式文件地址

弊端:有可能会造成浪费内存空间。

@import

还可以使用 @import 语句来引入外部样式,它需要放到style标签中

加载顺序

假设我们的页面既用到外部,也用到内嵌,还用到行内样式,那么谁起作用?

1.外部样式编写

2.编写页面

通过上面的案例我们发现,当几个样式有相同部分时,行内样式优先于页面样式,而页面样式优先于外部样式。 简单来说,就近原则、就近原则、就近原则

CSS选择器***

在CSS中,对于元素的修饰是通过选择器来获取到的,它有很多选择器。

---基本选择器

---包含选择器

---属性选择器

---伪类选择器

基本选择器

基本选择器使用的频率是最高的,它分为以下几种:

---ID选择器

---标签选择器

---类选择器

---通用选择器

ID选择器

ID选择器的优先级是最高的,因为页面中的ID是不能重复的,即是唯一的

标签选择器

前面ID 选择器 style 中是 div1 它是唯一的, 而现在 标签选择器div 这一大类 只要是运用div的 都可被同时修饰修改

类选择器

特点是  点 加上 class 后面的名称  即  . container 

注意:

1.使用类样式是通过class的属性来指定

2.在编写样式时,需要前面有个小圆

通用选择器

通过选择器是使用  *号来表示匹配所有页面的元素padding表示内边距,margin表示外边距

 包含选择器

包含选择器分为以下几种:

        ---子选择器:只能获取某个标签的第一级子元素

        ---后代选择器:能够获取某个标签的所有子元素

        ---分组选择器:使用逗号来进行选择,还叫并列选择器它可以设置多个标签

举例示范:

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>包含选择器</title>

   <style>

       /* 选择器 */

       /* div.list 交集选择器 */

       div.list > li {       /* 子选择器的格式为:父选择器 > 子选择器 {} */

           color: blueviolet;

       }

       /* 后代选择器 */

       .list li {             /* 后代选择器的语法:父选择器  子选择器 {} */

           background-color: aquamarine;

       }

       /* 分组选择器,也叫逗号选择器,也叫并列选择器 */

       .mylove, #myprogram, h1 {

           color: red;

       }

   </style>

</head>

<body>

<div id="first" class="mylove">这是一个 div 块元素</div>

<p id="myprogram">这是一个段落标签</p>

<div class="mylove mylove2">这也是一个 div 块元素</div>

<h1>这是标题</h1>

<hr>

<div class="list">

   <ul>

       <li>这是一个列表1</li>

       <li>这是一个列表2</li>

       <li>这是一个列表3</li>

       <li>这是一个列表4</li>

       <li>这是一个列表5</li>

       <li>这是一个列表6</li>

       <li>这是一个列表7</li>

       <li>这是一个列表8</li>

       <li>这是一个列表9</li>

       <li>这是一个列表10</li>

   </ul>

   <li>这是一个列表8</li>

   <li>这是一个列表9</li>

   <li>这是一个列表10</li>

</div>

</body>

</html>

页面效果显示如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/516481.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于注意力整合的超声图像分割信息在乳腺肿瘤分类中的应用

基于注意力整合的超声图像分割信息在乳腺肿瘤分类中的应用 摘要引言方法 Segmentation information with attention integration for classification of breast tumor in ultrasound image 摘要 乳腺癌是世界范围内女性最常见的癌症之一。基于超声成像的计算机辅助诊断&#x…

Day80:服务攻防-中间件安全HW2023-WPS分析WeblogicJettyJenkinsCVE

目录 中间件-Jetty-CVE&信息泄漏 CVE-2021-34429(信息泄露) CVE-2021-28169(信息泄露) 中间件-Jenkins-CVE&RCE执行 cve_2017_1000353 CVE-2018-1000861 cve_2019_1003000 中间件-Weblogic-CVE&反序列化&RCE 应用金山WPS-HW2023-RCE&复现&上线…

每日一题(leetcode75):颜色分类-双指针

采用双指针法&#xff0c;p0维护数字0&#xff0c;p1维护数字1。遇到1时&#xff0c;交换并且p1加1&#xff0c;遇到0时&#xff0c;交换并观察0的指针是不是小于1的指针&#xff0c;如果小于&#xff0c;那么之前0指针指向的数据1会被交换出去&#xff0c;所以要进一步进行交换…

全栈的自我修养 ———— react中router入门+路由懒加载

router 下载router配置view创建目录配置index.js 下载router npm install react-router-dom配置view 如下将组件倒出 const Login () > {return <div>这是登陆</div> } export default Login创建目录 配置index.js React.lazy有路由懒加载的功能&#xff0…

MySQL 表的增删改查

文章目录 一、什么是CRUD&#xff1f;二、新增&#xff08;Create&#xff09;1、单行数据 全列插入2、多行数据 指定列插入3、插入特殊类型 三、查询&#xff08;Retrieve&#xff09;1、全列查询2、指定列查询3、表达式查询4、指定别名5、去重6、排序7、条件查询基本查询&a…

vue快速入门(六)v-else和v-else-if

注释很详细&#xff0c;直接上代码 上一篇 新增内容 v-else-if用法v-else用法 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-s…

开放威胁情报社区

AlienVault - Open Threat ExchangeLearn about the latest cyber threats. Research, collaborate, and share threat intelligence in real time. Protect yourself and the community against todays emerging threats.https://otx.alienvault.com/

Redis 全景图(3)--- Redis 应用于缓存

前言 这是关于 Redis 全景图的最后一篇文章。因为一次写太多会限流&#xff0c;我也是没办法&#xff0c;才分成三篇文章来写。这篇文章是关于 Redis 应用于缓存的。 其实为什么要讲这个话题呢&#xff1f; Redis 应用在很多地方呀&#xff0c;为什么一定要挑着这个话题来讲呢…

帝国CMS模板源码整站安装说明(图文)

安装步骤 第一步&#xff1a;先把得到的文件解压缩&#xff0c;把文件通过FTP传到空间里。&#xff08;请不要把类似www.lengleng.net这个文件夹传到FTP&#xff0c;请传这个大文件夹下面的所有文件夹和文件到空间根目录&#xff0c;请不要上传到2级目录&#xff0c;除非你自己…

代码随想录算法训练营第二十三天| 669.修建二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

系列文章目录 目录 系列文章目录669. 修剪二叉搜索树①递归法②迭代法&#xff08;不好想出&#xff0c;掌握递归即可&#xff09; 108.将有序数组转换为二叉搜索树递归法[左闭右开)[左闭右闭] 538.把二叉搜索树转换为累加树①递归法-反中序遍历&#xff08;右中左&#xff09;…

蓝桥杯练习笔记(十七)

蓝桥杯练习笔记&#xff08;十七&#xff09; 一、 输入样例 7 7 1000001 0100010 0010100 0001AAA 00010A0 00010A0 00010A0蓝桥官网题解&#xff1a; 该题解是用了三个循环分别对三个方向的相同字符的长度进行统计&#xff0c;找出最大长度&#xff0c;最后对找出的最长Y进…

五、企业级架构之Nginx负载均衡

一、负载均衡技术 1、介绍&#xff1a; 负载均衡技术&#xff08;Load Balance&#xff09;是一种概念&#xff0c;其原理就是把分发流量、请求到不同的服务器&#xff0c;平均分配用户请求。 2、作用&#xff1a; ① 流量分发&#xff0c;请求平均&#xff0c;提高系统处理…

【SQL Server的详细使用教程】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

Free MyBatis Tool插件的进阶使用指南(消灭dao层的繁琐编码)

目录 零、起因一、怎么使用Free MyBatis Tool插件&#xff1f;1 基本使用2 进阶使用&#xff08;搞清楚Options的用法&#xff09;2.1 概览2.2 详述2.2.0 Options&#xff08;一项都不勾选&#xff09;2.2.1 Use-Lombok【消除UserDO中的getter和setter代码】2.2.2 Comment&…

《QT实用小工具·十二》邮件批量发送工具

1、概述 源码放在文章末尾 该项目实现了邮件的批量发送&#xff0c;如下图所示&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef SMTPCLIENT_H #define SMTPCLIENT_H#include <QtGui> #include <QtNetwork> #if (QT_VERSION > QT_VERSION_CHECK(5,0,…

.kat6.l6st6r勒索病毒肆虐,这些应对策略或许能帮到你

引言&#xff1a; 近年来&#xff0c;网络安全问题日益凸显&#xff0c;其中勒索病毒更是成为了公众关注的焦点。其中&#xff0c;.kat6.l6st6r勒索病毒以其独特的传播方式和破坏力&#xff0c;给全球用户带来了极大的困扰。本文将深入探讨.kat6.l6st6r勒索病毒的特点&#xf…

DIY蓝牙键盘(1) - 理解 键盘报文(免费)

DIY蓝牙键盘(1) - 理解键盘报文 1. 键盘报文体验 一个键盘对于用户的体验是&#xff0c;用户按按键A他能看到字母A会在主机上显示出来。那这是如何实现的&#xff1f; 其实很简单&#xff0c;只要键盘发送下面的两个报文给主机&#xff0c;字母A就能在主机上显示出来。 (1)…

深入理解C/C++的内存管理

在C和C中&#xff0c;高效的内存管理是编写性能优化和资源高效利用程序的关键。本文将深入探讨C/C内存管理的各个方面&#xff0c;包括内存的分布、C语言和C中的动态内存管理方式&#xff0c;以及new和delete操作符的使用 C/C内存分布 C和C程序的内存可以分为以下几个区域&…

MySQL安装卸载-合

目录 1.Linux下安装 1.1下载 1.2.上传 ​​​​​​​1.3.解压 ​​​​​​​1.4.安装 ​​​​​​​1.5.启动服务 ​​​​​​​1.6.查询临时密码 ​​​​​​​1.7.修改临时密码 ​​​​​​​1.8.创建用户 ​​​​​​​1.9.分配权限 ​​​​​​​1.10.重…

00-JAVA基础-脚本引擎

JAVA脚本引擎 什么是JAVA脚本引擎 Java 平台自带了如JavaScript、Groovy等脚本语言的引擎&#xff0c;可以在运行时动态地加载和执行脚本代码。这些脚本引擎可以直接在Java应用程序中使用&#xff0c;例如&#xff0c;通过ScriptEngineManager来获取特定脚本语言的ScriptEngi…