【前端】CSS

定义:层叠样式表 Cascading Style Sheets,控制页面的展示效果

1.基本语法规范

选择器 + 1/n条声明

  • 选择器决定针对谁修改
  • 声明决定修改啥
  • 声明的属性是键值对,使用 ; 区分键值对,使用 : 区分键和值

2.格式

style标签可放在head标签(通常)或body标签中,也可放在两标签之间

<style>p {color: red;font-size: 40px;}
</style>

3.引入方式

内部样式表

通过style标签将css嵌套到html页面中,上方格式中的代码就采用这种方式

优点:让样式和页面结构分离

缺点:分离的不够彻底,尤其是css内容多的时候

行内样式表

<h1 style="color: blue; font-size: 20pxc;">你好</h1>

行内样式表优先级高于内部样式表

外部样式表

创建一个.css文件,在head标签中使用link标签引入css

<link rel="stylesheet" href="/demo.css">

4.选择器

4.1基础选择器

1> 标签选择器:格式中的代码即是标签选择器

2> 类选择器:差异化表示不同的标签,多个类名用于样式叠加

<p class="eat food">吃饭</p>
<p class="sleep">睡觉</p>
.eat {   ……}
.food {  ……}
.sleep {  ……}

3> id选择器:#开头

<p id="fe">前端开发</p>
<p id="server">后端开发</p>
#fe {  ……}
#server{  ……}

4> 通配符选择器:使用 * 选取所有标签,在实际应用开发中用来针对页面中所有元素默认样式进行消除,主要用来消除边距

* {color:red;}

4.2复合选择器

1> 后代选择器:又叫包含选择器,选择某个父元素中的某个子元素

ol li {color: red;}
<ul><li>吃饭</li><li>睡觉</li>
</ul><ol><li>吃饭</li><li>睡觉</li>
</ol>

2> 伪类选择器:定义元素状态

  • a:link:选择未被访问过的链接
  • a:visited:选择已被访问过的链接
  • a:hover:选择鼠标指针悬停上的链接
  • a:active:选择活动链接(鼠标按下了但未弹起)
a {color:black;}
a:hover {color:red;}
a:active {color:green;}input {color:blue;}
input:hover {color:black;}
input:active {color:red;}
<a herf="#">不跳转</a>
<br>
<input type="button" value="按钮">

5.常用元素属性

5.1字体属性

外观:多个字体用逗号分隔,从左到右查找字体,找不到则使用默认字体

<!--style在head标签中-->
<style>div {font-family: 'Microsoft YaHei';font-size: 60px;}
</style><body><div>微软雅黑</div>
</body>

颜色:三种表示方法,单词、十六进制形式、RGB方式

<style>div {color:red;color:#ff0000;color:rgb(255,0,0);}
</style><body><div>红色</div>
</body>

粗细:normal (默认 400)、bold (粗体 700)、bolder (更粗)、lighter (更细)、inherit (继承父元素)

<style>div { font-weight: bolder;font-weight: 300;}
</style><body><div>粗体</div>
</body>

样式:normal (默认)、italic (斜体)、oblique (倾斜)、inherit (继承父元素)

<style>div { /* 设置倾斜 */font-style: italic;/* 取消倾斜 */font-style: normal;}
</style><body><div>倾斜</div>
</body>

5.2文本属性

位置:left、center、right

<style>h1 {text-align: left;}h2 {text-align: center;}h3 {text-align: right;}
</style><body><h1>靠左</h1><h2>居中</h2><h3>靠右</h3>
</body>

缩进:单位使用 px 或 em,一个 em 就是当前元素的文字大小;缩进可以是负的,表示向左缩进

* lorem:生成长文字 

<style>div {text-indent: 20px;}p {text-indent: -2em;}
</style><body><div>Lorem ipsum dolor sit amet consectetur adipisicing elit. Placeat quas accusamus unde ut vel aliquid similique quaerat obcaecati mollitia quis eaque neque veritatis temporibus, porro modi debitis molestias! Consectetur, obcaecati.</div><p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Placeat quas accusamus unde ut vel aliquid similique quaerat obcaecati mollitia quis eaque neque veritatis temporibus, porro modi debitis molestias! Consectetur, obcaecati.</p>
</body>

装饰: underline (下划线)、overline (上划线)、line-through (删除线)、none (啥都没有,可给a标签去掉下划线)

<style>div {text-decoration: underline;}p {text-decoration: line-through;}a {text-decoration: none;}
</style><body><div>hello world</div><p>delete</p><a href="#">不跳转</a>
</body>

行间距:上下文本行之间的基线距离

基准线:顶线、中线、基线、底线

<style>p {line-height:40px;}
</style><body><p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Distinctio perspiciatis deleniti, sit doloribus quia perferendis eaque nobis. Optio quos tenetur suscipit in expedita at odio architecto, libero illum quo error!Lorem</p>
</body>

5.3背景属性

颜色:同字体

<style>div {background-color: aqua;}p {/* 背景透明 */background-color: transparent;}
</style>

图片: URL可以加引号也可不加

<style>div {background-image: url(abc.jpg);height: 300px;}
</style>

平铺:repeat (平铺 默认)、no-repeat (不平铺)、repeat-x (水平平铺)、repeat-y (垂直平铺)

<style>div {background-image: url(rose.jpg);background-repeat: repeat-x;}
</style>

位置:相当于坐标轴 (x, y)

  • 方位名词:(top,left,right,bottom)
  • 精确单位:坐标或百分比(以左上角为原点)
  • 混合单位:同时包含方位名词和精确单位
<style>div {background-image: url(flower.jpg);background-position: top;background-position: 200px,200px;   background-position: 100px,center;}
</style>

尺寸: 

  • 具体尺寸:20px 30px,表示(宽度 高度)
  • 百分比:按照父元素尺寸设计
  • cover:使背景图像完全覆盖背景区域
  • contain:覆盖并使图像宽度高度完全适应内容区域
<style>div {background-image: url(tree.jpg);background-size: 300px 400px;background-size: contain;}
</style>

5.4文本框属性

使边框带圆角效果,length是内切圆的半径,数值越大,弧线越强烈

  • 圆形:使length的值为正方形边长的一半
  • 圆角矩形::使length的值为矩形高度的一半
<style>div {width: 200px;height: 200px;border: 2px green solid;border-radius: 50%;}
</style>

还可以对四个角分别设置:

<style>div {border-top-left-radius: 2em;border-top-right-radius: 2em;border-bottom-left-radius: 2em;border-bottom-left-radius: 2em;<!-- 顺时针 -->/* border-radius: 10px 20px 30px 40px; */}
</style>

6.元素的显示模式

6.1块级元素 

h1-h6  p  div  ul  ol ……

6.2行内元素

a img ……

我们要做到是将行内元素与块级元素之间的转换:

  • display:block 改成块级元素
  • display:inline 改成行内元素
  • display:inline-block 改成行内块元素
<style>a {/* 使两个a标签分别占用一行 */display: block; }
</style><body><a href="#">链接1</a><a href="#">链接2</a>
</body>

7.盒模型

每一个Html元素相当于一个矩形的盒子

构成:边框border,内容content,内边距padding,外边距margin

7.1边框

  • 粗细:border-width
  • 样式:border-style  默认无边框,solid (实线),dashed (虚线),dotted (点线)
  • 颜色:border-color

层叠性依据就近原则

<style>div {width: 200px;height: 100px;border-width: 10px;border-style: solid;border-color: green;/* 支持混写,没有顺序要求 */border: 2px dotted red;/* 可改变四个方向的边框 */border-top: 3px;border-left: 4px;}
</style>

浏览器默认边框会撑大“盒子”,可使用box-sizing修改浏览器的行为

* {box-sizing: border-box;}

7.2内边距

默认内容是顶着边框放置的,使用padding可控制这个距离

可给四个方向上都加上边距:padding-top/bottom/left/right

<style>div {width: 200px;height: 100px;padding-left: 5px;padding-bottom: 3px;/* 混合写法 */padding: 5px; /*四个方向都是5px*/padding: 5px 10px; /*上下内边距5px,左右内边距10px*/padding: 2px 5px 10px; /*上内边距2px,左右内边距5px,下内边距10px*/padding: 2px 5px 10px 20px; /*上右下左 顺时针*/}
</style>

7.3外边距

控制盒子和盒子之间的距离

可给四个方向上都加上边距:margin-top/bottom/left/right

<style>div {border: solid 10px red;margin-top: 2px;margin-bottom: 2px;/*混合写法同内边距padding*//*块级元素水平居中*/margin: auto;margin-right: auto;margin-left: auto;}
</style>

8.弹性布局

flex item,可以纵向排列,也可横向排列,称为flex direction (主轴)

  • justify-content:设置主轴上的子元素排列方式 。start (居左 默认)、end (居右)、center (居                                 中)、space-between (均匀分布)
  • align-items:设置侧轴上的子元素排列方式。start (居上 默认)、end (居下)、center (居                                       中)、space-between (均匀分布)
<style>div {height: 300px;width: 400px;background-color: green;display: flex; /*弹性布局*/justify-content: center; /*主轴*/align-items: end; /*侧轴*/}div span {height: 100px;width: 100px;background-color: red;}
</style><body><div><span>1</span><span>2</span><span>3</span></div>
</body>

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

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

相关文章

android开发学习-内容共享(server+client)

在应用之间共享数据 通过ContentProvider封装数据 ContentProvider使用的Uri语法结构如下&#xff1a; content://authority/data_path/id content&#xff1a;通用前缀&#xff0c;表示该uri用于ContentProvider定位资源 authority&#xff1a;是授权者名称&#xff0c;用…

【Python--读获取目录下所有csv文件中的均值与偏态】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;Python &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; python练习题 读获取目录下所有csv文件中的均值与偏态按照均值和偏态最大值进行排序完整代码 读获取目录下…

基于OpenCV的图形分析辨认03

目录 一、前言 二、实验目的 三、实验内容 四、实验过程 一、前言 编程语言&#xff1a;Python&#xff0c;编程软件&#xff1a;vscode或pycharm&#xff0c;必备的第三方库&#xff1a;OpenCV&#xff0c;numpy&#xff0c;matplotlib&#xff0c;os等等。 关于OpenCV&…

LeetCode.2917. 找出数组中的 K-or 值

题目 2917. 找出数组中的 K-or 值 分析 这道题其实是要我们求第i位二进制为1的元素个数至少为k&#xff0c;把符合条件的2^i全部加到一起。 因此&#xff0c;我们的思路就是枚举数组的每一位&#xff0c;并且进行以下两个步骤&#xff1a; 统计所有元素第i位1的个数cnt。…

ubuntu 中进入python 编辑如何退出到命令行

文章目录 在Python解释器&#xff08;交互式命令行&#xff09;中&#xff0c;你可以使用 exit()函数或 CtrlD&#xff08;在Unix/Linux/macOS上&#xff09;或 CtrlZ然后输入 Enter&#xff08;在Windows上&#xff09;来退出Python解释器并返回到命令行。 以下是具体的步骤&a…

SpringSecurity配置MD5加密方式

目录 一、需求 二、代码实现 2.1、MD5加密工具类 2.2、实现MD5加密

【论文阅读】DeepLab:语义图像分割与深度卷积网络,自然卷积,和完全连接的crf

【论文阅读】DeepLab:语义图像分割与深度卷积网络&#xff0c;自然卷积&#xff0c;和完全连接的crf 文章目录 【论文阅读】DeepLab:语义图像分割与深度卷积网络&#xff0c;自然卷积&#xff0c;和完全连接的crf一、介绍二、联系工作三、方法3.1 整体结构3.2 使用空间金字塔池…

弹性地基梁matlab有限元编程 | 双排桩支护结构 | Matlab源码 | 理论文本

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

mysql bug( InnoDB: Error number 22),表突然不能读取

mysql bug&#xff08; InnoDB: Error number 22&#xff09;&#xff0c;表突然不能读取 bug最开始的bug&#xff1a;表突然不能读取关闭mysql容器&#xff0c;再次重启失败 解决方案不重建容器的几种可能措施重建容器重建如果懒得打命令或者忘记命令可能的run bug&#xff1a…

【目标检测】旋转目标检测DOTA格式转YOLO格式标注

准备DOTA格式数据集&#xff1a; dota_dataset -- images |----- train |----- val -- labels |----- train |----- train_original |----- val |----- val_original 修改class_mapping和图片格式&#xff1a; ultralytics/data/converter.py convert_dota_to_yolo_obb() 转换标…

从零学算法128

128.给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&#xff1a; 输入&#xff1a;nums [100,4,200,1,3,2] 输出&#xff1a;4…

打破界限,释放创新:一键将HTML转化为PDF

在互联网时代&#xff0c;HTML作为网页的标准语言&#xff0c;承载着无数的信息与创意。然而&#xff0c;有时我们需要将这些在线内容转化为可打印、可分享的PDF格式。这时&#xff0c;一款高效、便捷的转换工具就显得尤为重要。 首先&#xff0c;我们要进入首助编辑高手主页面…

API分享:淘宝拍立淘API接口|按图搜索商品列表API|电商爆品搜索API

今天来跟大家分享一个非常有用的API&#xff0c;以图搜索商品列表API&#xff1a;item_search_img。通过此API可以实现传入一个图片链接&#xff0c;来获取到该图片上的商品信息&#xff0c;商品列表&#xff0c;支持翻页展示。 item_search_img-按图搜索淘宝商品&#xff08;…

Linux内核基础 - list_move_tail函数详解

Linux Kernel list_move_tail 函数 技术背景 Linux内核使用双向链表来管理各种数据结构。这种双向链表的实现使得元素的插入和删除操作非常高效&#xff0c;特别是在需要频繁修改链表结构时。list_move_tail函数是这种双向链表操作中的一个&#xff0c;用于在链表中移动节点。…

react高阶组件:如何同时兼容class类组件和函数式组件。

场景&#xff1a; 每个页面都要实现分享功能&#xff0c;但是页面有些是用class类&#xff0c;有些又直接是函数式。 方案1&#xff1a; 写2套方法。各自引用。&#xff08;维护不太好&#xff0c;改要改2遍&#xff09; 方案2&#xff1a; 可以封一个 jsx的组件&#xff0c…

中国制造走向世界wordpress外贸建站模板主题

水泵阀门wordpress外贸网站模板 水泵、阀门、管材、管件wordpress外贸网站模板&#xff0c;适合外贸独立站的网站模板。 https://www.jianzhanpress.com/?p3748 保健器械wordpress外贸网站主题 保健、健身器械wordpress外贸网站主题&#xff0c;适合做外贸网站的wordpress模…

【QT C++实践】Qt 项目中一个界面动态处理多张数据库中的表|附源码

一、前言 在之前那篇讲如何使用QT连接数据库时&#xff08;QT C实践|超详细数据库的连接和增删改查操作|附源码)&#xff0c;做了一个简单的对数据库进行增删改查的界面(如下&#xff09;。 但是存在一个问题就是&#xff1a;这个界面只是对一张表进行操作&#xff0c;但是我…

驱动调试第014期-变频调速的原理及相关计算公式应用

一、引言 变频调速是一种通过改变电源频率来实现电动机调速的技术。它具有高效、精确、可靠等优点&#xff0c;广泛应用于工业、商业和家用领域。本文将介绍变频调速的基本原理、优点以及应用领域&#xff0c;并通过详细的公式计算过程和图片说明来帮助读者更好地理解。 二、变…

2023年CSP-J认证 CCF信息学奥赛C++ 中小学初级组 第一轮真题-选择题解析

2023年 中小学信息学奥赛CSP-J真题解析 1、在C中&#xff0c;下面哪个关键字用于声明一个变量&#xff0c;其值不能被修改 A、unsigned B、const C、static D、mutable 答案&#xff1a;B 考点分析&#xff1a;主要考查变量声明相关知识&#xff0c;const是声明常量&…

0基础跨考408|一战上岸复盘及经验分享

基础阶段‼️ 王道的四本书的选择题部分要都做完、订正完。 王道的四门视频课要一轮刷完&#xff08;或者题主在B站看了其他的老师&#xff0c;这其实也是算一轮的&#xff0c;只要题主是认真学习了的&#xff0c;题主说自己不知道看什么课&#xff0c;王道就好了&#xff09;…