CSS

CSS

CSS是什么

层叠样式表 (Cascading Style Sheets).CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离.说白了就是让网页变得好看
在这里插入图片描述
什么是样式呢?
大小,位置,间距,颜色,字体,边框,背景…统称为样式,也就是描述了一个网页长啥样
什么是层叠呢?
针对一个html的元素/标签,可以同时应用多组css样式,多组样式会叠在一起(就像打游戏的叠buff的感觉),一个元素的属性,由很多方面,描述大小是一个样式,描述颜色,是一个样式,需要把这些样式都叠加起来,才能组成一个漂亮的html页面

基本语法

选择器 + {一条/N条声明}
选择器决定针对谁修改 (找谁)
声明决定修改啥. (干啥)
声明的属性是键值对. 使用 ; 区分键值对, 使用 : 区分键和值

<style>p {/* 设置字体颜色 */color: red;/* 设置字体大小 */font-size: 30px;}
</style>
<p>hello</p>

注意:
CSS 要写到 style 标签中(后面还会介绍其他写法)
style 标签可以放到页面任意位置. 一般放到 head 标签内.
CSS 使用 /* */ 作为注释. (使用 ctrl + / 快速切换) .

CSS的引入方式

和html,js类似,css也是在浏览器中运行的

1.内部样式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSOne</title><style>div{font-size: 200px;color: green;}</style>
</head>
<body><div>滴滴答答滴</div>
</body>
</html>

在这里插入图片描述

2.外部样式

在这里插入图片描述

3.内联样式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSOne</title></head>
<body><div style="color: blueviolet; font-size: 200px;">滴滴答答滴</div>
</body>
</html>

在这里插入图片描述
内联样式的优先级比上面两种高
实际开发中,上述三种写法都很常见

代码风格

样式格式

  1. 紧凑风格
p { color: red; font-size: 30px;}

2,展开风格(推荐)

p {color: red;font-size: 30px;
}

样式大小写

虽然 CSS 不区分大小写, 我们开发时统一使用小写字母

空格规范

冒号后面带空格
选择器和 { 之间也有一个空格.

CSS选择器

选择器的功能

选中页面中指定的标签元素.
要先选中元素, 才能设置元素的属性.

选择器的种类

1.基础选择器

(1).标签选择器

使用标签名,把页面中所有同名标签的元素都选中了
缺点:难以针对某个元素进行个性化定制,比如下面代码想让呃呃呃变成蓝色,就不能只通过标签选择器了,需要搭配别的
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSOne</title><style>div{font-size: 100px;color: greenyellow;}</style>
</head>
<body><div>啊啊啊</div><div>哦哦哦</div><div>呃呃呃</div>
</body>
</html>

以上代码就是把所有在div标签里面的东西都变成黄绿色的了
在这里插入图片描述

(2).类选择器

CSS中创建一个类名,这个类名对应一组css属性,让指定的html元素应用这样的类名即可
注意:这里的类和java的类没有任何关系

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSOne</title><style>/*类名就叫eee,让下面呃呃呃的div引用这个类,就可以把这个呃呃呃变成红色的了*/.eee{color: red;}div{font-size: 100px;color: greenyellow;}</style>
</head>
<body><div>啊啊啊</div><div>哦哦哦</div><div class="eee">呃呃呃</div>
</body>
</html>
```![在这里插入图片描述](https://img-blog.csdnimg.cn/8678140a7c404dc9a86a0b6876221251.png)
**注意:一个类名是可以被多个标签引用的**
**可以定义很多的CSS类,每个类都是一组属性的集合**
**一个标签还可以引入多个类名,多个类名之间用空格来分割**比如一大串字符,想让某些字符变色,咋整呢?
比如有  哦哦哦哦哦哦哦哦哦滴滴滴滴哦哦哦哦哦哦,我想让滴滴滴滴变色,加入span就好了```css
<div>哦哦哦哦哦哦哦哦哦<span class="eee">滴滴滴滴</span>哦哦哦哦哦哦</div>

在这里插入图片描述

(3).id选择器

一个html标签,可以有一个id属性,这个属性的值作为标签的身份标识,在页面中也是唯一的,同样也可以通过id选择器,把这个指定的元素给获取到
在这里插入图片描述
上述选择器,是css中最基础的选择器,其实css还有很多复杂的“符合选择器”,这里只介绍一种

2.复合选择器

后代选择器:效果就是把上述三种选择器进行组合,同时能够体现出“标签的层次结构”
在这里插入图片描述
CSS选择器种类非常多,用法也很丰富,此处只学习上述四种写法!!!

常用元素属性

属性也就是你的{}里的键值对都能写啥,css这里的属性是非常多的,不要背,多去查,这里只介绍常见属性

字体属性

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSOne</title>
</head>
<body><div class="one">啊啊啊~~~我的妻~~~王氏~宝钏~~</div><style>.one{/*设置字体样式*/font-family: '微软雅黑';/*设置像素大小*/font-size: 80px;/*设置字体粗细,这个值的范围是100-900,数越大,字越粗*/font-weight: 900;/*让字体倾斜*/font-style: italic;}</style>
</body>
</html>

以上几个属性的叠加,构造成了下图
在这里插入图片描述

文本相关

.two{/* 文本颜色 */color: brown;/* 文本对齐:左对齐(left),右对齐(right),居中(center) */text-align: left;/* 文本装饰:加个下划线啥的 */text-decoration: underline;/* 文本缩进,首行缩进多大空间 */text-indent: 20px;/* 行高(行间距) */line-height: 300px;}

在这里插入图片描述
其中color属性的值,有很多种写法
1.直接写一些表示颜色的单词
2.使用rgb的方式来表示
rgb–red green blue
每个分量都是一个字节,取值范围是0-255

color: rgb(255,0,0);

通过上述的操作,就可以调出一些非常好看的颜色
3.使用十六进制的方式表示(本质也是RGB)

color: #ff0000;
/*红色*/

背景属性

拿个蔡徐坤的照片举例

   .three{font-size: 100px;width: 2000px;height: 1600px;color: red;/* 设置背景颜色 */background-color: pink;/* 设置背景图片 */background-image: url(image/kun.png);/* 禁止平铺 */background-repeat: no-repeat;/* 垂直居中,水平居中 */background-position: center center;/* 设置背景大小 */background-size: 2000px 1600px;}

在这里插入图片描述

设置圆角矩形

平常的html页面都是第一种,圆角矩形的第二种
在这里插入图片描述
在这里插入图片描述

    .four {width: 500px;height: 300px;background-color: red;/* 下面是设置圆角矩形,10就是内切圆半径 */border-radius: 100px;}

在这里插入图片描述

对于后端来说,上述交代了这么多属性,不用记!!!!!!!!现在就是看一下,有个印象,之后稍微练习一下,加深一下印象就够了,过几天忘了也没啥,用的时候去查看就好了

盒子模型

在这里插入图片描述

边框

基础属性
粗细: border-width
样式: border-style, 默认没边框. solid 实线边框 dashed 虚线边框 dotted 点线边框
颜色: border-color

<div>test</div>
div {width: 500px;height: 250px;border-width: 10px;border-style: solid;border-color: green;
}

支持简写, 没有顺序要求

border: 1px solid red;

可以改四个方向的任意边框.

border-top/bottom/left/right

以下的代码只给上边框设为红色, 其余为蓝色.
利用到的层叠性, 就近原则的生效.

border: 1px solid blue;
border-top: red;

边框会撑大盒子
可以看到, width, height 是 500*250, 而最终整个盒子大小是 520 * 270. 边框10个像素相当于扩大了大小
通过 box-sizing 属性可以修改浏览器的行为, 使边框不再撑大盒子.

* {box-sizing: border-box;
}
  • 为通配符选择器.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

内边距

padding 设置内容和边框之间的距离.
默认内容是顶着边框来放置的. 用 padding 来控制这个距离
可以给四个方向都加上边距
padding-top
padding-bottom
padding-left
padding-right
在这里插入图片描述
加上 padding 之后

div {height: 200px;width: 300px;padding-top: 5px;padding-left: 10px
}

在这里插入图片描述
此时可以看到带有了一个绿色的内边距.
注意:
整个盒子的大小从原来的 300 * 200 => 310 * 205. 说明内边距也会影响到盒子大小(撑大盒
子).
使用 box-sizing: border-box 属性也可以使内边距不再撑大盒子. (和上面 border 类似)
复合写法
可以把多个方向的 padding 合并到一起. [四种情况都要记住, 都很常见]

padding: 5px; 表示四个方向都是 5px
padding: 5px 10px; 表示上下内边距 5px, 左右内边距为 10px
padding: 5px 10px 20px; 表示上边距 5px, 左右内边距为 10px, 下内边距为 20px
padding: 5px 10px 20px 30px; 表示 上5px, 右10px, 下20px, 左30px (顺时针)
 div {* {/* 此时边框不会撑大元素了.  */box-sizing: border-box;}width: 500px;height: 300px;background-color: gray;margin-top: 50px; border: red 20px solid; /* 边框还可以分开设置 */border-left: red 20px solid;border-right: green 20px dotted;border-top: blue 20px dashed;border-bottom: orange 20px solid;/* 给四个方向都设置 30px 内边距 */padding: 30px; /* 也可以给四个方向分别设置内边距 */padding-left: 20px;padding-top: 50px; /* 给上下设置 30px, 左右设置 20px */padding: 30px 20px; 给四个方向分别设置. 上右下左 顺时针顺序设置的padding: 10px 20px 30px 40px; }

外边距

基础写法
控制盒子和盒子之间的距离.
可以给四个方向都加上边距
margin-top
margin-bottom
margin-left
margin-right

<div class="first">蛤蛤</div>
<div>呵呵</div>
div {background-color: red;width: 200px;height: 200px;
}
.first {margin-bottom: 20px;
}

在这里插入图片描述
复合写法
规则同 padding

margin: 10px; // 四个方向都设置
margin: 10px 20px; // 上下为 10, 左右 20
margin: 10px 20px 30px; // 上 10, 左右 20, 下 30
margin: 10px 20px 30px 40px; // 上 10, 右 20, 下 30, 左 40

把margin左右方向设置成auto,可以实现让元素水平居中
如果把垂直设为auto,则不能实现元素居中

.two {width: 500px;height: 300px;background-color: gray;/* 让元素水平居中 */margin-left: auto;margin-right: auto;} 

在这里插入图片描述

弹性布局

刚才说,对于块级元素,默认是独占一行(垂直方向排列的),有时候想让块级元素水平排列,此时就可以使用弹性布局了
下图就是弹性布局
在这里插入图片描述
1.flex 布局基本概念
flex 是 flexible box 的缩写. 意思为 “弹性盒子”.
任何一个 html 元素, 都可以指定为 display:flex 完成弹性布局.
flex 布局的本质是给父盒子添加 display:flex 属性, 来控制子盒子的位置和排列方式.
被设置为 display:flex 属性的元素, 称为 flex container
在这里插入图片描述
某个元素一旦开启了弹性布局,此时内部的子元素就会按照水平方向排列,子元素内的子元素不受影响
flex就是弹性布局
2.justify-content
设置水平方向的排列规则,是居中,还是靠右靠左,还是分散开
在这里插入图片描述

3.align-items
设置垂直方向的排列规则
在这里插入图片描述

.one {width: 1000px;height: 300px;background-color: gray;display: flex;justify-content: space-between;align-items: center;}

本来是
在这里插入图片描述
弹性布局之后

在这里插入图片描述

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

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

相关文章

银行发展绿色金融,8条建议为您指路

在《财富潮涌&#xff1a;银行发展绿色经济创新路径》内容中&#xff0c;我们带大家了解了商业银行有关绿色财富、绿色服务及绿色运营的内容。今天&#xff0c;我们将阐述商业银行发展绿色金融的必要性以及在实践中商业银行应该如何发展色金融。 发展绿色金融的必要性与难点 1.…

华为杯数学建模比赛经验分享

再过一周左右,第二十届华为杯数学建模比赛就要开赛了&#xff0c;所以今天分享一下个人数学建模比赛的经验。 今天给大家分享一期关于华为杯数学建模比赛的经验分享&#xff0c;我将从以下三个方面展开说明&#xff1a; &#xff08;1&#xff09;如何准备数学建模比赛&#x…

Interceptor的使用场景:拦截请求中的租户信息,注入到租户上下文中

业务场景 在SaaS环境中&#xff0c;租户是最重要的隔离业务数据的属性了&#xff0c;在自己的项目体系环境中&#xff0c;租户id能保证有值。但有个特殊场景&#xff0c;某些特殊权限的账号需要修改指定租户的内容&#xff0c;也即前端会携带租户信息过来&#xff0c;并且内部涉…

共享单车场景下Cat.1网络表现如何?测试结果来了

为帮助行业客户提高Cat.1产品稳定性&#xff0c;近期&#xff0c;天翼物联组织终端客户郑州威科姆科技股份有限公司开展基于中国电信 Cat.1网络下的共享单车体验测试&#xff0c;内容涵盖单车实时位置监控、单车在线率、业务数据延迟、语音播报功能等。测试结果表明&#xff0c…

零基础学前端(四)1. 重点讲解 CSS:盒子模型、样式选择器

1. 该篇适用于从零基础学习前端的小白 2. 初学者不懂代码得含义也要坚持模仿逐行敲代码&#xff0c;以身体感悟带动头脑去理解新知识 3. 初学者切忌&#xff0c;不要眼花缭乱&#xff0c;不要四处找其它文档&#xff0c;要坚定一个教授者的方式&#xff0c;将其学通透&#xff…

uni-app:通过ECharts实现数据可视化-如何引入项目

效果 引入文件位置 代码 <template><view id"myChart"></view> </template> <script> import echarts from /static/js/echarts.js // 引入文件 export default {mounted() {// 初始化EChartsconst myChart echarts.init(document…

中秋特辑:Java事件监听实现一个猜灯谜小游戏

众所周知&#xff0c;JavaSwing是Java中关于窗口开发的一个工具包&#xff0c;可以开发一些窗口程序&#xff0c;然后由于工具包的一些限制&#xff0c;导致Java在窗口开发商并没有太多优势&#xff08;当然也有一些第三方的工具包也很好用&#xff09;&#xff0c;不过&#x…

【卷积神经网络】ResNets 残差网络

通常来说&#xff0c;增加卷积神经网络的层数有利于提高模型的准确率&#xff0c;但是深层的神经网络也变得难以训练的&#xff0c;因为存在梯度消失与梯度爆炸问题。Microsoft 亚洲研究院的 Kaiming He 等人提出了一个残差学习框架&#xff0c;以简化对 CNN 网络的训练。通过将…

基于SpringBoot+Vue的餐饮管理系统设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…

Linux 挂载

挂载需要挂载源和挂载点 虚拟机本身就有的挂源 添加硬件 重启虚拟机 操作程序 sudo fdisk -l //以管理员权限查看电脑硬盘使用情况sudo mkfs.ext4 /dev/sdb //以管理员身份格式化硬盘sudo mkdir guazai //创建挂载文件夹 sudo mount /dev/sdb/guazai //将挂载源接上挂载点 s…

嵌入式C语言知识复习和提高

文章目录 前言基础知识main函数防BUG注释&#xff08;重要&#xff09;关键字标识符命名&#xff08;驼峰命名&#xff09;常量类型变量printf1.输出不同类型数据2.输出不同宽度数据3.不同类型数据长度归类 scanf函数运算符sizeof&#xff08;运算符&#xff0c;优先级2&#x…

欧拉操作系统在线安装mysql8数据库并用navicat premium远程连接

网上太多安装教程&#xff0c;但是没有一个教程能够一站式解决安装问题&#xff0c;而我不一样&#xff0c;我写的每一个博客&#xff0c;都是我自己试验过很多次&#xff0c;能够确保一站式解决&#xff0c;才会发上去&#xff0c;希望能够帮助到大家 第一步&#xff1a;升级…

恒合仓库 - 仓库管理系统搭建

仓库管理系统搭建 文章目录 仓库管理系统搭建一、项目介绍1.1 项目描述1.2 技术选型1.3 模块划分 二、搭建前端环境三、搭建后端环境3.1 创建springboot项目 - 划分包层次3.2 导入依赖3.3 启动类配置3.4.配置文件配置 一、项目介绍 1.1 项目描述 项目搭球为满足日益扩大的仓库…

Matlab图像处理-区域描述

一旦一幅图像的目标区域被确定&#xff0c;我们往往用一套描述子来表示其特性。选择区域描述子的动机不单纯为了减少在区域中原始数据的数量&#xff0c;而且也应有利于区别带有不同特性的区域。因此&#xff0c;当目标区域有大小、旋转、平移等方面的变化时&#xff0c;针对这…

力扣 -- 394. 字符串解码

解题方法&#xff1a; 参考代码&#xff1a; class Solution{ public:string decodeString(string s){stack<string> sst;stack<int> dst;//防止字符串栈为空的时候再追加字符串到栈顶元素sst.push("");int n s.size();int i 0;while(i<n)//最好不…

高级运维学习(九)块存储、文件系统存储和对象存储的实现

块存储基础 块设备存取数据时&#xff0c;可以一次存取很多。字符设备只能是字符流 [rootceph1 ~]# ll /dev/sda brw-rw---- 1 root disk 8, 0 Dec 12 13:15 /dev/sda # b表示block&#xff0c;块设备[rootceph1 ~]# ll /dev/tty crw-rw-rw- 1 root tty 5, 0 Dec 12 13:31 /d…

工业机器人仿真参考

最近有一些朋友看到我做的关于Unity3d仿真机器人的项目&#xff0c;本次我在平台做以分享&#xff0c;希望的朋友或者有需要在此基础做开发的可以参考下。 开发工具&#xff1a; 下位机&#xff1a;Unity3D 上位机&#xff1a;Visual Studio 机械臂模型&#xff1a;TH6-QKM…

高云FPGA系列教程(7):ARM GPIO外部中断

文章目录 [toc]GPIO中断简介FPGA配置常用函数MCU程序设计工程下载 本文是高云FPGA系列教程的第7篇文章。 本篇文章介绍片上ARM Cortex-M3硬核处理器GPIO外部的使用&#xff0c;演示按键中断方式来控制LED亮灭&#xff0c;基于TangNano 4K开发板。 参考文档&#xff1a;Gowin_E…

L1-027 出租

一、题目再现 下面是新浪微博上曾经很火的一张图&#xff1a; 一时间网上一片求救声&#xff0c;急问这个怎么破。其实这段代码很简单&#xff0c;index数组就是arr数组的下标&#xff0c;index[0]2 对应 arr[2]1&#xff0c;index[1]0 对应 arr[0]8&#xff0c;index[2]3 对应…

消息队列(五):虚拟主机设计

虚拟主机存在的意义 一个虚拟主机类似于 MySQL 的 database&#xff0c;把交换机&#xff0c;队列&#xff0c;绑定&#xff0c;消息....进⾏逻辑上的隔离&#xff0c;⼀个服务器可以有多 个虚拟主机&#xff0c;此处我们项⽬就设计了⼀个虚拟主机&#xff08;VirtualHost&…