前端三剑客 —— CSS (上)

上节内容中提到了 前端三剑客 —— 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>

页面效果显示如下:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11:lambda表达式 包装器

C11&#xff1a;lambda表达式 & 包装器 lambda表达式包装器functionbind lambda表达式 在C98中&#xff0c;如果想对一个结构体数组使用sort排序&#xff0c;那么我们就需要自己些仿函数。 比如以下结构体&#xff1a; struct Goods {string _name; // 名字double _pric…

Qt 总结

由于工作需要用到Qt。把过程中学习到的东西记录下来&#xff0c;希望能帮到他人和将来的自己。 由于需要快速实现需求&#xff0c;所以对Qt只是使用&#xff0c;并没有对原理的深入理解。 故此文只适合入门&#xff0c;不适合深入学习Qt。 文章目录 安装&维护示例&教…

案例:非功能性需求的设计

在咨询中看到很多项目组对于非功能性需求没有做设计&#xff0c;很多项目组在设计文档中仅仅是把非功能性需求的描述拷贝到设计文档的非功能性章节。因此特地设计了两个简单的需求给大家参考&#xff0c;希望能够引导设计人员重视非功能性需求的设计。

视觉大模型--deter的深入理解

但对于transformer用于目标检测领域的开创性模型&#xff0c;该模型言简意赅&#xff0c;但是但从论文理解&#xff0c;有很多细节都不清楚&#xff0c;尤其是解码器的query和二分图匹配(Bipartite Matching)和匈牙利算法(Hungarian Algorithm)相关&#xff0c;本文将根据代码详…

32. UE5 RPG使用增强输入激活GameplayAbility(二)

在上一篇文章中&#xff0c;我们实现了Tag和InputAction的数据对应&#xff0c;后面&#xff0c;我们会通过InputAction触发对应的Tag&#xff0c;然后在GameplayAbility身上设置对应的Tag&#xff0c;然后通过Tag遍历角色身上的所有应用的技能去激活。为了实现这个功能&#x…

P8597 [蓝桥杯 2013 省 B] 翻硬币

# [蓝桥杯 2013 省 B] 翻硬币 ## 题目背景 小明正在玩一个“翻硬币”的游戏。 ## 题目描述 桌上放着排成一排的若干硬币。我们用 * 表示正面&#xff0c;用 o 表示反面&#xff08;是小写字母&#xff0c;不是零&#xff09;&#xff0c;比如可能情形是 **oo***oooo&#x…

【C++基础】std::vector详解

std::vector 是 C 标准库中的一个容器&#xff0c;提供了动态数组的功能。它的底层实现通常是使用连续的内存块来存储元素&#xff0c;因此可以通过指针算术来访问元素&#xff0c;并且支持常数时间的随机访问&#xff0c;并支持在容器末尾高效地添加和删除元素。 一、底层实现…

精读 Generating Mammography Reports from Multi-view Mammograms with BERT

精读&#xff08;非常推荐&#xff09; Generating Mammography Reports from Multi-view Mammograms with BERT&#xff08;上&#xff09; 这里的作者有个叫 Ilya 的吓坏我了 1. Abstract Writing mammography reports can be errorprone and time-consuming for radiolog…

基于单片机的数字万用表设计

**单片机设计介绍&#xff0c;基于单片机的数字万用表设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的数字万用表设计概要是关于使用单片机技术来实现数字万用表功能的一种设计方案。下面将详细概述该设计的各个…

从零学算法80

80. 删除有序数组中的重复项 II 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外…

【性能测试】接口测试各知识第2篇:学习目标,1. 理解接口的概念【附代码文档】

接口测试完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;接口测试&#xff0c;学习目标学习目标,2. 接口测试课程大纲,3. 接口学完样品,4. 学完课程,学到什么,5. 参考:,1. 理解接口的概念。学习目标&#xff0c;RESTFUL1. 理解接口的概念,2.什么是接口测试…

ChatGPT 的行家指南

原文&#xff1a;An Insider’s Guide to using ChatGPT 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 介绍 你是否厌倦了花费无数小时为你的业务创建内容&#xff1f;从博客文章到社交媒体更新&#xff0c;从电子书内容到电子邮件&#xff0c;这可能是一个耗时的过…

Kafka面试宝典

1 Kafka基础面试篇 Kafka的那些设计让它有如此高的性能? 1.partition,producer和consumer端的批处理:提高并行度;2.页缓存:大量使用页缓存,内存操作比磁盘操作快很多,数据写入直接写道页缓存,由操作系统负责刷盘,数据读取也是直接命中页缓存,从内存中直接拿到数据;…

如何保持数据一致性

如何保持数据一致性 数据库和缓存&#xff08;比如&#xff1a;redis&#xff09;双写数据一致性问题&#xff0c;是一个跟开发语言无关的公共问题。尤其在高并发的场景下&#xff0c;这个问题变得更加严重。 问题描述&#xff1a; 1.在高并发的场景中&#xff0c;针对同一个…

基于java+SpringBoot+Vue的学生心理咨询评估系统设计与实现

基于javaSpringBootVue的学生心理咨询评估系统设计与实现 开发语言: Java 数据库: MySQL技术: Spring Boot MyBatis工具: IDEA/Eclipse、Navicat、Maven 系统展示 后台展示 用户管理模块&#xff1a;管理员可以查看、添加、编辑和删除用户信息。 试题管理模块&#xff1a…

Qt + VS2017 创建一个简单的图片加载应用程序

简介&#xff1a; 本文介绍了如何使用Qt创建一个简单的图片加载应用程序。该应用程序可以打开图片文件并在界面上显示选定的图片&#xff0c;并保存用户上次选择的图片路径。 1. 创建项目&#xff1a; 首先&#xff0c;在VS中创建一个新的Qt Widgets应用程序项目&#xff0c;并…

LeetCode 1379.找出克隆二叉树中的相同节点:二叉树遍历

【LetMeFly】1379.找出克隆二叉树中的相同节点&#xff1a;二叉树遍历 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree/ 给你两棵二叉树&#xff0c;原始树 original 和克隆树 cloned&#xff0…

Golang | Leetcode Golang题解之第3题无重复字符的最长子串

题目&#xff1a; 题解&#xff1a; func lengthOfLongestSubstring(s string) int {// 哈希集合&#xff0c;记录每个字符是否出现过m : map[byte]int{}n : len(s)// 右指针&#xff0c;初始值为 -1&#xff0c;相当于我们在字符串的左边界的左侧&#xff0c;还没有开始移动r…

Linux初学(十二)AWK进阶

一、AWK 1.1 简介 AWK是Linux中重要的文本处理工具Linux三剑客只一处理的对象可以是一个具体的文件&#xff0c;也可以是一个命令的执行结果AWK按行读取文件&#xff0c;将每一行视为一条记录 案例一&#xff1a;获取系统中每个用户的uid 方法一&#xff1a;cat /etc/passwd |…

vue3+threejs新手从零开发卡牌游戏(二十五):尾声(附完整源码下载地址)

这个demo到这里就算接近尾声了&#xff0c;大体的游戏框架就算搭建完成了&#xff0c;主要是提供了一下思路&#xff0c;代码也是来来回回修改了好几次&#xff0c;也踩了一些坑&#xff0c;后续可以自行优化一些战斗效果和交互逻辑、UI美化等&#xff0c;这里附上源码下载链接…