【Web前端】CSS基本语法规范和引入方式常见选择器用法常见元素属性

一、基本语法规范

选择器 + {一条/N条声明} 选择器决定针对谁修改 (找谁)

声明决定修改什么.。(干什么)

声明的属性是键值对.。使用 : 区分键值对, 使用 : 区分键和值。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>p/*p就是选择器*/{color: red;/*color和font-size都是声明*/font-size: 30px;}</style>
</head>
<body><p>hello world</p>
</body>
</html>

二、引入方式

2.1、内部样式表

        写在 style 标签中. 嵌入到 html 内部。理论上style放在哪里都可以,但一般放在head标签中。正如上面这个例子所示。这样做可以使页面结构和样式分离,但是分离地不够彻底,尤其是当style内部内容过多时。

2.2、行内样式表

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>h1/*p就是选择器*/{color: red;/*color和font-size都是声明*/font-size: 30px;}</style>
</head>
<body><h1 style="color: blue; font-size: 30px;">hello world</h1>
</body>
</html>

        通过 style 属性, 来指定某个标签的样式。行内样式表的优先级比内部样式表的优先级高,当行内样式表和内部样式表冲突时,遵循行内样式表的样式

2.3外部样式表(好用)

        将页面结构和样式完全分离,需要css文件时在通过link引入。以下代码请忽略h1标签。

<!-- demo01.html -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>h1/*p就是选择器*/{color: red;/*color和font-size都是声明*/font-size: 30px;}</style><link rel="stylesheet" href="./demo02.css">
</head>
<body><p>hello world</p><h1 style="color: blue; font-size: 30px;">hello world</h1>
</body>
</html>
/* demo02.css */
p{color: red;font-size: 30px;
}

 

三、常用选择器的种类

3.1、类选择器(好用)

        差异化表示不同的标签。标签名内可以填写多个标签名(实现修饰效果的叠加),中间用空格隔开,可以让多个标签的都使用同一个标签修饰css文件内标签名以.开头类选择器同样可以使页面结构和样式完全分离。

<!-- demo2.html -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./demo2.css">
</head>
<body><p class="study size">学习</p><p class="streetworkout">健身</p><p class="game size">打游戏</p>
</body>
</html>
/* demo2.css */
.game{color: red;
}.study{color: blue;
}.streetworkout{color: green;
}.size{font-size: 80px;
}

3.2、id选择器

id 选择器的值和 html 中某个元素的 id 值相同。

html 的元素 id 不必带 #。

id 是唯一的, 不能被多个标签使用 (是和 类选择器 最大的区别)。

一个标签也不能使用多个标签,否则可能出现不可知情况。

//demo3.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./demo3.css">
</head>
<body><p id="fe">前端开发</p><p id="de">后端开发</p>
</body>
</html>
//demo3.css
#fe{color: blue;
}#de{color: aqua;
}

3.3、通配符选择器

使用 * 的定义, 选取所有的标签。可以用来设置背景色等属性。html样例代码同id选择器。

#fe{color: blue;
}#de{color: aqua;
}
//设置背景色为blueviole*{background-color: blueviolet;
}

3.4、复合选择器

选择某个父元素中的某个子元素,并可以避免冲突。起到嵌套使用的效果

//de4.html
<body><ul class="aaa"><li class="bbb">吃饭</li><li>吃饭</li><li>吃饭</li><li>吃饭</li><li>吃饭</li></ul>
</body>
//demo4.css
.aaa .bbb{color: red;
}

3.5、伪类选择器

让鼠标对标签进行不同操作时让标签具有不同的显示效果。

a:link 选择未被访问过的链接

a:visited 选择已经被访问过的链接

a:hover 选择鼠标指针悬停上的链接

a:active 选择活动链接(鼠标按下了但是未弹起)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./demo5.css"><style>a{color: aqua;}a:hover{color: blue;}a:active{color: chartreuse;}</style>
</head>
<body><a href="#">跳转</a>
</body>
</html>

三、常用元素属性

设置字体(宋体,黑体......): font-family

设置字体大小:font-size: 20px

设置字体粗细:font-weight: bold/700

设置文字样式:font-style: italic;设置倾斜,font-style: normal;取消倾斜

文本对齐:text-align: [值]。center: 居中对齐 left: 左对齐 right: 右对齐

文本装饰:text-decoration: [值]。underline 下划线. none 啥都没有. 可以给 a 标签去掉下划线. overline 上划线. line-through 删除线 

文本缩进:text-indent: [值]。使用 em 作为单位更好. 1 个 em 就是当前元素的文字大小。

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

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

相关文章

python知识点总结(十)

python知识点总结十 1、装饰器的理解、并实现一个计时器记录执行性能&#xff0c;并且将执行结果写入日志文件中2、队列和栈的区别&#xff0c;并且用python实现3、设计实现遍历目录与子目录4、CPU处理进程最慢的情况通常发生在以下几种情况下&#xff1a;5、CPU处理线程最慢的…

File和IO流

1. File类常用方法 1.1 获取基本属性 • public String getName() &#xff1a;获取名称 • public String getPath() &#xff1a;获取路径 • public String getAbsolutePath()&#xff1a;获取绝对路径 • public File getAbsoluteFile()&#xff1a;获取绝对路径表示…

linux:线程同步

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》 文章目录 前言线程同步条件变量接口简单示例pthread_cond_wait为什么要有mutex伪唤醒问题的解决 (if->while) 总结 前言 本文作为我对于线程同步知识总结 线程同步 同步&…

让机器理解语言,从字词开始,逐步发展到句子和文档理解:独热编码、word2vec、词义搜索、句意表示、暴力加算力

让机器理解语言&#xff0c;从字词开始&#xff0c;逐步发展到句子和文档理解&#xff1a;独热编码、词嵌入、word2vec、词义搜索、句意表示、暴力加算力 独热编码&#xff1a;分类 二进制特征Word2Vec 词嵌入&#xff1a; 用低维表示 用嵌入学习 用上下文信息Skip-gram 跳字…

Web Components初探

组件化&#xff0c;标签语义化&#xff0c;是前端发展的趋势。现在流行的组件化框架有React、Vue等&#xff0c;标签语义化在H5中添加的article、dialog等。 Web Components 就是类似的一套技术&#xff0c;允许您创建可重用的定制元素&#xff0c;并且在您的web应用中使用它们…

网约车APP小程序源码代驾顺风拼车货运司乘端安卓苹果源码可二开

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 一、详细介绍 系统是基于Thinkphpuniapp开发的&#xff0c;全开源未加密&#xff0c;这套源码可以拿回去自己做二开 后台用户端司机端 功能详情介绍&#xff1a; 车主实名认证&#xff0c;驾驶证认证&#xff0c;车…

【C++】快速判断元音字母,让代码不在繁琐!!

目录 一、前言 二、判断字符是否为元音字母 ✨ 繁琐的方法 ✨ 神奇又快速的方法 三、常考面试题 四、共勉 一、前言 大家有没有发现&#xff0c;我们在做算法题的时候&#xff0c;经常会碰到让我们判断一个字母是否为 元音字母&#xff0c;可是用通常的 if 条件判断 要繁…

centos7 装 docker-ce

安装必要的系统工具&#xff1a; sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 命令会以超级用户的身份安装三个软件包&#xff1a;yum-utils&#xff0c;device-mapper-persistent-…

Linux线程互斥

1.用线程封装代码测试通过现象引出线程互斥 1.1代码测试 Thread.hpp #pragma once #include<iostream> #include<string> #include<functional> #include<pthread.h> template<class T> using func_t std::function<void(T)>;template…

为什么Python不适合写游戏?

知乎上有热门个问题&#xff1a;Python 能写游戏吗&#xff1f;有没有什么开源项目&#xff1f; Python可以开发游戏&#xff0c;但不是好的选择 Python作为脚本语言&#xff0c;一般很少用来开发游戏&#xff0c;但也有不少大型游戏有Python的身影&#xff0c;比如&#xff1…

【Linux】详解进程程序替换

一、替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支)&#xff0c;子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时&#xff0c;该进程的用户空间代码和数据完全被新程序替换&#xff0c;从新程序的启动例程开始执…

Mysql数据库——高级SQL语句补充

目录 一、子查询——Subquery 1.环境准备 2.In——查询已知的值的数据记录 2.1子查询——Insert 2.2子查询——Update 2.3子查询——Delete 3.Not In——表示否定&#xff0c;不在子查询的结果集里 3.Exists——判断查询结果集是否为空 4.子查询——别名 二、视图—…

PointNet++点云处理原理

PointNet点云处理原理 借鉴了多层神经网络的思想 pointnet要么是一个点&#xff0c;要么是所有点进行操作&#xff0c;就不会有局部上下文信息 pointnet基本思想是迭代地应用到局部区域 1.多级别特征学习 2.旋转不变性 3.置换不变性 选取中心点centroid&#xff0c;通过poi…

jconsole jvisualvm

jconsole 打开方式 命令行输入 jconsole双击想要连接的应用 界面展示 jvisualvm 打开方式 命令行输入 jvisualvm双击想要连接的应用 可以安装插件&#xff0c;比如 Visual GC 直观看到 GC 过程

在CentOS7上部署Nginx并测试指南

Nginx部署测试 Nginx简介 Nginx是俄罗斯人Igor Sysoev编写的一款高性能的HTTP和反向代理服务器。 Nginx选择了epoll和kqueue作为网络I/O模型&#xff0c;在高连接并发的情况下&#xff0c;内存、CPU等系统资源消耗非常低&#xff0c;运行稳定。 正向代理与反向代理 正向代…

Java学习记录第十三天

面向对象编程 核心思想就是OOP&#xff08;面向对象编程&#xff09; 面向过程&面向对象 面向过程思想 步骤清晰简单&#xff0c;第一步做什么&#xff0c;第二步做什么... 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚&#xff0c;分类的思维模式&…

电源噪声的起因及危害

对造成电源不稳定的根源进行简单分析如下,主要在于两个方面:一是器件高速开关状态下,瞬态的交变电流过大;二是电流回路上存在的电感。从表现形式上来看又可以分为三类:同步开关噪声(SSN),有时被称为Δi噪声,地弹(Ground bounce)现象也可归于此类(图1-a);非理想电…

2024.3.21 QT

QT登录界面设计&#xff1a; //头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMovie>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nu…

Linux manim安装

简介 根据文档可知, manim目前分为两个版本, 一个是由3Blue1Brown维护更新的最新版本的manimgl, 另一个是稳定的社区版本manim or manimce. 两个版本在安装和使用上都有些不同, 不要搞混. Linux manim ERROR No package ‘pangocairo’ found Getting requirements to buil…

C++进阶之路---C++11新特性 | lambda表达式

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 前言&#xff1a;简介lambda 在C中&#xff0c;lambda表达式是一种匿名函数的方式&#xff0c;它可以用来解决以下问题&a…