【CSS】一篇掌握CSS

不是因为有了希望才去坚持,而是坚持了才有了希望

目录

一.导入方式

1.行内样式

2.内部样式

3.外部样式(常用)

二.选择器

1.基本选择器(常用)

1.1标签选择器

1.2类选择器

1.3id选择器

2.层次选择器

2.1后代选择器

2.2子选择器

2.3相邻兄弟选择器

2.4通用兄弟选择器

3.结构伪类选择器

4.属性选择器

三..美化网页

1.字体样式font

2.文本样式text

3.超链接伪类

4.列表样式

5.背景background

四.盒子模型

1.边距参数顺序

2.边框border

2.1圆角边框

五.浮动

1.display

2.float

3.黑框塌陷问题

3.1 overflow

4.display和float对比

六.定位position

1.相对定位relative

2.绝对定位absolute

3.固定定位fixed

4.图层z-index


一.导入方式

1.行内样式

在标签元素中,编写一个style属性,编写样式即可

<h1 style = "color : red">我是标题</h1>
2.内部样式

在html的style标签内书写

<style>h1{color: red;}
</style>
3.外部样式(常用)

在html内使用link标签导入外部css文件,在外部书写css代码

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

二.选择器

1.基本选择器(常用)

1.1标签选择器
<h1 class = 'class' id = 'id'>我是标题</h1>
h1{color: red;
}
1.2类选择器
.class{color: blue;
}
1.3id选择器
#id{color: black;
}

优先级

id选择器>类选择器>标签选择器(上面的h1标签显示为黑色)

2.层次选择器
2.1后代选择器

body后面的所有p标签

2.2子选择器

body后面的第一代标签

2.3相邻兄弟选择器

下面的一个兄弟+

2.4通用兄弟选择器

下面的所有兄弟~

3.结构伪类选择器

4.属性选择器

格式

标签[]{}
a[id]{}
/*a标签中存在id属性的元素*/
a[id = links]{}
/*a标签中id是links的元素*/
a[id *= links]{}
/*a标签中id包含links的元素*/
a[id ^= links]{}
/*a标签中id以links开头的元素*/
a[id $= links]{}
/*a标签中id以links结尾的元素*/

类似于正则表达式

三..美化网页

1.字体样式font

2.文本样式text

a{color: rgba(0,255,255,0.9);/*0.9是透明度*/text-align: center;/*文字左右居中*/text-indent: 2em;/*首行缩进2格*/height: 300px;line-height: 300px;/*字体高度和整体高度一直,就会上下居中*/text-decoration: none;/*取消下划线*/
}

图片和文本对齐

<p><img src="../resources/image/1.jpg" alt=""><span>我是奶龙</span>
</p>
img,span{vertical-align: middle;
}

显示效果

3.超链接伪类

鼠标悬停执行

a:hover{color: red;
}
4.列表样式
ul li{list-style: none;/*去掉圆点*/list-style: circle;/*空心圆*/list-style: decimal;/*有序数字*/list-style: square;/*正方形*/
}
5.背景background

添加背景默认为全部平铺

a{background: red url("resources/image/1.jpg") 270px 10px no-repeat;
}

颜色,图片地址,图片位置,平铺方式no-repeat就是不平铺,如下图

直接设置背景颜色

a{background: red;
}

                           

四.盒子模型

在网页中,每个元素都是一个盒子模型,网页会有默认的边距大小,所以一般需要初始化边距为0

h1,ul,li,a,body{margin: 0;/*外边框设置为0*/padding: 0;/*内边框设置为0*/text-decoration: none;/*消除下划线*/
}

1.边距参数顺序

每个盒子是一个矩形,他有四个边,所以设置内外边距的时候会有四个参数

margin: 10px 10px 10px 10px;

如果传入四个参数是上左下右(顺时针旋转)
传入两个参数是上下左右
传入一个参数就是全部

自动设置边距使元素居中auto

margin: 0 auto;
2.边框border

border : 3px solid red;   (solid是实线,dashed是虚线)

2.1圆角边框

圆形 = 宽度的一半

五.浮动

在一个网页中,每个元素会出现在不同的位置,我们要对这些元素进行布局,就需要用到浮动

这些元素有默认的布局方式,我们要改变他们来手动布局

1.display

这里我们需要引入一个抽象概念,我们可以叫他黑框

我们在写html代码的时候,会写很多div,把一些元素放到div中,这个div就是一个边界,使用display改变元素属性的时候,不会使他离开这个"黑框div"

display : block;(块元素)
display : inline;(行内元素)
display : inline-block;(既是行内元素也是块元素),是块元素但是可以在一行

行内元素不能设定height和width,必须要变成块元素才可以设定

导航栏就是ul li标签变成行内元素

2.float

浮动就是把这个块元素单独飘起来,会飘出黑框外

float : left; 左浮
float : right; 右浮

浮动会导致元素挤在一起,所以我们需要清除浮动clear both;

既有浮动效果,也要有块元素效果(就让他排下去,不要挤在一起),就要清除浮动

3.黑框塌陷问题

我们知道,浮动会飘出黑框外,我们不想出现这种情况就要解决黑框塌陷问题

推荐使用第四种方法

3.1 overflow

overflow : scroll 规定文本或图片超过了高度,加滚动条(没人会用这个)

overflow : hidden 规定文本或图片超过了高度,会隐藏(知道这个就行)

4.display和float对比

六.定位position

我们对一个网页中的元素进行布局的时候,还需要设置他们具体的位置,所以就要用到定位

1.相对定位relative

相对于自己原来的位置偏移,仍然在黑框中,没有塌陷,原来的位置会被保留
position : relative

top : -20px;  (距离上面-20px,就是上移)
left : 20px;    (距离左边20px,就是右移)
bottom : -10px(距离下面-10px,就是下移)
right : 20px(距离右边20px,就是左移)

2.绝对定位absolute

一般都是相对于父元素定位

给父级元素加上相对定位,就会相对于父级元素定位

不给父元素加相对定位就会相对于浏览器定位,滚动滑轮位置会变(初始浏览器大小)

给父元素加上相对定位relative

自身相对于父元素左移30px

3.固定定位fixed

这里设置第一个div元素相对于浏览器位于初始的右下角,但是滚动滑轮位置会变
设置第二个div元素固定定位在浏览器右下角,滚动滑轮位置不会变

4.图层z-index

我们需要把一些块元素堆叠的时候,就需要使用z-index来决定谁在上谁在下

练习

HTML代码

CSS代码


opacity透明度

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

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

相关文章

封装类与封装函数

目录结构 src/ ├── utils/ │ ├── test.js │ ├── Calculator.js ├── views/ │ ├── Home.vue ├── App.vue 共同点&#xff1a;模块导出与模块引入 封装函数 场景 简单、轻量级和性能敏感的场景&#xff0c;适合快速开发和维护。 优 可维护性&…

【论文阅读】Federated learning backdoor attack detection with persistence diagram

目的&#xff1a;检测联邦学习环境下&#xff0c;上传上来的模型是不是恶意的。 1、将一个模型转换为|L|个PD,&#xff08;其中|L|为层数&#xff09; 如何将每一层转换成一个PD&#xff1f; 为了评估第&#x1d457;层的激活值&#xff0c;我们需要&#x1d450;个输入来获…

5 Java字符串操作

字符串操作 1、String类1.1 声明字符串1.2 创建字符串 1.3 字符串连接 /连接字符串连接其他数据类型 1.4 提取字符串信息获取字符串长度length()获取指定位置的字符 charAt()获取子字符串索引位置 indexOf()判断字符串首尾内容 startsWith()/endsWith()获取字符数组 toCharArra…

IDEA报错: java: JPS incremental annotation processing is disabled 解决

起因 换了个电脑打开了之前某个老项目IDEA启动springcloud其中某个服务直接报错&#xff0c;信息如下 java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use build process “jps.track.ap.depen…

Mybatis-基础操作

Mybatis的基础操作就是通过Mybatis完成对数据的增删改查。我们通过例子来引入这些操作&#xff0c;之前的项目较久远&#xff0c;因此我们从零开始进行准备工作&#xff1a; 搭建项目 一、创建数据库user_list并插入数据&#xff1a; -- 创建数据库 create table user_list …

火山引擎VeDI在AI+BI领域的演进与实践

随着数字化时代的到来&#xff0c;企业对于数据分析与智能决策的需求日益增强。作为新一代企业级数据智能平台&#xff0c;火山引擎数智平台VeDI基于字节跳动多年的“数据驱动”实践经验&#xff0c;也正逐步在AI&#xff08;人工智能&#xff09;与BI&#xff08;商业智能&…

鼠标前进后退键改双击,键盘映射(AutoHotkey)

初衷&#xff1a; 1.大部分鼠标为不可自定义按键&#xff0c;可以自定义的又很贵。 鼠标左键是双击是很频类很高的操作&#xff0c;鼠标前进/后退按键个人感觉使用频率很低&#xff0c;因此把鼠标前进/后退改为双击还是很合适的。 2.有些短款的键盘没有Home或End键&#xff0c;…

IntelliJ IDEA安装内网穿透实现远程连接家里或公司的MySQL数据库助力开发

文章目录 前言1. 本地连接测试2. Windows安装Cpolar3. 配置Mysql公网地址4. IDEA远程连接Mysql5. 固定连接公网地址6. 固定地址连接测试 前言 本教程主要介绍如何使用Cpolar内网穿透工具实现在IDEA中也可以远程访问家里或者公司的数据库&#xff0c;提高开发效率&#xff01;无…

联想品牌的电脑 Bios 快捷键是什么?如何进入 Bios 设置?

在某些情况下&#xff0c;您可能需要通过U盘来安装操作系统或进行系统修复。对于联想电脑用户来说&#xff0c;了解如何设置U盘作为启动设备是非常有用的技能之一。本文简鹿办公将指导您如何使用联想电脑的 U 盘启动快捷键来实现这一目标。 联想笔记本 对于大多数联想笔记本电…

MCU跨领域融合的风向标是什么?

【哔哥哔特导读】从市场竞争的加剧到技术发展的需求&#xff0c;从智能化趋势到安全性要求的提高&#xff0c;再到市场需求的变化&#xff0c;这些因素共同推动了MCU趋势的发展&#xff0c;那么&#xff0c;当前的发展方向是怎样的&#xff1f; 随着技术的飞速发展和市场需求的…

【Android+多线程】IntentService 知识总结:应用场景 / 使用步骤 / 源码分析

定义 IntentService 是 Android中的一个封装类&#xff0c;继承自四大组件之一的Service 功能 处理异步请求 & 实现多线程 应用场景 线程任务 需 按顺序、在后台执行 最常见的场景&#xff1a;离线下载不符合多个数据同时请求的场景&#xff1a;所有的任务都在同一个T…

AI自动化剪辑工具:可将长视频中精彩部分提取合成短视频

最近&#xff0c;我发现了一款特别适合当下短视频潮流的自动化工具&#xff0c;它能够让我们轻松从长视频中剪辑出精彩片段&#xff0c;并快速生成适合分享的短视频。 这款工具叫 AI Youtube Shorts Generator&#xff0c;是一个开源项目&#xff0c;特别适合那些喜欢制作短视…

Basemap 在地图上显示图例

1.卫星图像绘制 import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap # 图像绘制 plt.figure(dpi300) m Basemap(projectioncyl, llcrnrlat11, llcrnrlon105, urcrnrlat35, urcrnrlon135)raw_lat raw_lat[490:1080, 655:1470] raw_lon raw_lon[490:…

GitLab历史演进

GitLab 是一个基于 Git 的 DevOps 平台&#xff0c;它的历史演进反映了开发和运维协作工具的不断发展。GitLab 的目标是为开发团队提供一个集成的工具集&#xff0c;涵盖 源代码管理、CI/CD、项目管理 等功能。GitLab 最初只是一个 Git 仓库管理工具&#xff0c;但随着时间的推…

elasticsearch单节点模式部署

原文地址&#xff1a;elasticsearch单节点模式部署 – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 第一步&#xff1a;下载 官方下载地址&#xff1a;Download Elasticsearch | Elastic&#xff0c;可以 wget 直接下载。 命令&#xff1a;wg…

26页PDF | 数据中台能力框架及评估体系解读(限免下载)

一、前言 这份报告详细解读了数据中台的发展历程、核心概念、能力框架及成熟度评估体系。它从阿里巴巴的“大中台&#xff0c;小前台”战略出发&#xff0c;探讨了数据中台如何通过整合企业内部的数据资源和能力&#xff0c;加速业务迭代、降低成本&#xff0c;并推动业务增长…

音视频入门基础:MPEG2-TS专题(8)——TS Header中的适配域

注&#xff1a;本文有部分内容引用了维基百科&#xff1a;https://zh.wikipedia.org/wiki/MPEG2-TS 一、引言 当TS Header中的adaptation_field_control属性的值为10或11 时&#xff0c;TS Header包含adaptation field&#xff08;适配域&#xff09;&#xff1a; 根据《T-RE…

挑战用React封装100个组件【001】

项目地址 https://github.com/hismeyy/react-component-100 组件描述 组件适用于需要展示图文信息的场景&#xff0c;比如产品介绍、用户卡片或任何带有标题、描述和可选图片的内容展示 样式展示 代码展示 InfoCard.tsx import ./InfoCard.cssinterface InfoCardProps {ti…

百度智能云千帆部署流程---语音识别和合成

目录 一、前期准备 二、语音合成 三、语音识别 实现整个流程如下图&#xff0c;但是我们的工作量并不是很多&#xff0c;我们可以在官网找到示例代码 一、前期准备 这里我们使用到3个代码 API_KEY.py 填写我们的API xzarm_asr.py 语音识别 xzarm_tts.py 语音合…

33 基于单片机的智能窗帘控制系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;采用DHT11温湿度传感器检测温湿度&#xff0c;滑动变阻器连接ADC0832数模转换器转换模拟,光敏传感器&#xff0c;采用GP2D12红外传感器&#xff0c;通过LCD1602显示屏显示…