冰墩墩向你投来了一份花里胡哨的CSS知识手册,快来签收
愿您斧正
- 语法
- 引入方式
- 选择器
- 基础选择器
- 复合选择器
- 元素属性
- 字体属性
- 文本属性
- 背景属性
- 元素的显示模式
- 盒模型
- 圆角矩形
- 弹性布局
- CSS经典案例--------圣杯布局
语法
- 选择器 {
要求
} - 属性命名
驼峰命名法 fontSize 或 FontSize
蛇形命名法 font_size
css特有的 脊柱命名法 font-size
引入方式
内部样式
写在style标签中,嵌入到html内部行内样式(内联样式)
通过style属性,指定某个标签的样式泱泱齐风,多彩淄博
外部样式
创建css文件
用link标签,在html文件中引入css文件
文件 “化妆术.css”中实现样式处理
p {color: aqua;font-size: 40px;
}
外部样式将样式和结构分离,受到浏览器缓存的影响,修改之后 不一定 立刻生效
什么是浏览器缓存呢?
浏览器访问一个网页的时候,会从服务器上下载一系列的资源(包括html文件、css文件、js文件、图片、字体…),如果每次访问通过网络下载的话,开销巨大,访问速度会非常慢,由于css文件、js文件、图片、字体很少改变,浏览器将这些一次下载的资源就保存在本地磁盘上,后续需要这些资源就从磁盘上读取(从磁盘上读通常比网络上读快很多)如果修改了css文件、js文件,浏览器访问网页时还是从缓存中读取旧的资源。每次修改css/js文件,同时修改文件的名字,浏览器在加载页面时,发现一个新的文件名,它在缓存中不存在,浏览器会重新下载
如果不修改文件名,浏览器访问页面时强制刷新(Ctrl+F5),浏览器会重新下载资源
css文件名中有一部分后缀是机器自动生成的16进制数据,一旦文件内容改变,重新打包部署时会自动更新后缀
选择器
- 选择器和{ }之间写空格
- 冒号后面带空格
基础选择器
单个选择器构成
标签选择器
p {color: rebeccapurple;font-size: 20px;}
类选择器
一个类可以被多个标签使用,一个标签也可以使用多个类,多个类名用空格分割
如果两个类的声明相同,以最后一个类的声明为准
长的类名,可以使用-分割
不能使用纯数字、中文、标签名来命名类名
.blue {color: blue;}.box{font-size: 60px;}
齐风陶韵,生态淄博
id选择器
HTML中id是唯一的,id选择器不能被多个标签使用
#one{color: green;}
红瓦绿树,碧海蓝天
通配符选择器
不需要被页面结构调用,用于页面所有的内容* {font-size: 60px;}
优先级
哪个选择器的针对性越强,优先级越高
id选择器 > 类选择器 > 标签选择器齐风陶韵,生态淄博
复合选择器
<div class="shandong"><ul><li class="A">泉城济南,泉甲天下</li><li class="B">红瓦柳树,碧海蓝天</li><li>齐风陶韵,生态淄博</li></ul></div><div class="shanxi"><ol><li class="A">塞上江南,神奇宁夏</li><li class="B">人文陕西,山水秦岭</li><li>传奇丝路,醉美甘肃</li></ol></div><p>齐风陶韵,生态淄博 </p>
标签为div且类名为shandong的元素
div.shandong{color: aqua;}
后代选择器
选择父元素中的某个子元素(不光能选儿子元素,还能选孙子元素)
可以是任意基础选择器的组合(标签选择器、类选择器、id选择器)
div ul{color: purple;} div li{color: purple;}.shandong li {color: aqua;} /*标签为div且类名为shandong的元素*/div.shandong li {color: aqua;}
子选择器
>
分割只能选择亲儿子,不选孙子元素
可以是任意基础选择器的组合
div>ul{color: blueviolet;}div>ul>li{color: blueviolet;}.shandong>ul>.A{color: red;}
并集选择器
用于选择多组标签
,
分割可以是基础选择器,也可以是复合选择器
div, p{color: blue;}.A, .B{color: yellow;}.shandong .A, p{color: purple;}
伪类选择器
选中元素的各种状态
链接伪类选择器
a:link
选择未访问的链接
a:visited
选择访问过的链接
a:hover
选择鼠标指针悬停的链接
a:active
鼠标指针按下了但是未弹起
a:link{color: red;/*链接默认带着下划线,此处设置不带下划线*/text-decoration: none;}a:visited{color: orange;}a:hover{color: yellow;}a:active{color: green;}<a href="#">好客山东欢迎你</a>
让一个已经访问过的链接恢复到未被访问的状态:清空浏览器历史记录(Ctrl+shift+delete)
元素属性
字体属性
字体
p {/* 不建议中文 所设置的字体必须保证机器上存在*/ font-family: '宋体';font-family: ''/* 字体大小 */font-size: 100px;/* 字体粗细 100~900 */font-weight: 800;/* 文字样式 *//* 设置倾斜 */font-style: italic;/* 取消倾斜 */font-style: normal;font-style: }
font 综合设置字体
严格按照此顺序设置,不同属性间空格隔开/* 严格按照此顺序设置,不同属性间空格隔开*/选择器{ font-style font-weight font-size font-family }p {font: italic 800 100px '宋体';}
文本属性
颜色(三种表示形式)
三原色:红绿黄,分别用R G B三个分量表示,它们搭配就能形成各种颜色。一般是1个字节(8个bit位)表示一个分量,范围是0-255,十六进制表示的范围是 00-FF(1个十六进制数字是4个bit位,2个十六进制数字是1个字节)4种表示方式
p {color: purple;color: #800080;color: rgb(128,0,128);color: rgba(50, 50, 50, 0.5)}
rgba(50, 50, 50, 0.5)
前三个表示三原色,最后一个表示透明度,最大值1就是完全不透明,数字越小,透明度越高利用取色器使用其他网页上的颜色
qq截图(Ctrl+Alt+a)
文本对齐
居中对齐 左对齐 右对齐text-algin: center;text-align: left;text-algin: right;
文本装饰
text-decoration: underline; /* 下划线 */ text-decoration: overline; /* 上划线 */ text-decoration: line-through; /* 删除线 */ text-decoration: none; /* 什么都没有,常用于去除超链接默认下划线 */
文本缩进
控制段落的首行缩进 ,单位可以是 px和em 常使用em作为单位, 1em就是当前元素的大小
也可以是负值,表示向左缩进,文字会冒出去text-indent: 2em;
行高
行高是指上下文本行之间基线的距离
基准线自上而下有 顶线、中线、基线、底线
行高 = 字体的高度 + 行间距
通过控制行间距来控制行高
/* 行间距 */line-height: 20px;
背景属性
背景颜色
background-color与color属性表示颜色的方式一样
rgba(50, 50, 50, 0.5)
前三个表示三原色,最后一个表示透明度,最大值1就是完全不透明,数字越小,透明度越高p {width: 100%;height: 200px;background-color: aqua;background-color: rgba(50, 50, 50, 0.5);}
背景图片
url中图片的路径不用加引号,也可以加上引号background-image: url(image/中国风.png);
背景图片的平铺效果
平铺就像是贴瓷砖一样,背景图片重复出现
背景图片默认是平铺的background-repeat: repeatbackground-repeat: no-repeat; /* 不平铺 */background-repeat: repeat-x; /* 水平平铺 */ background-repeat: repeat-y; /* 垂直平铺 */
背景图片的位置
可以用精确值(x y 坐标)确定位置
第一个一定是x,第二个一定是y
只给一个精确值,该数值一定是x,另一个默认居中
计算机中表示坐标一般是“左手系”
使用方位名词(top,bottom,left,right)
两个方位名词的前后顺序无所谓
只给一个方位名词,另一个默认居中混合单位,第一个值一定是x,第二个值一定是y
background-position: 100px 200px; /* 先是x,再是y */background-position: center center;
背景尺寸
精确的数值 先宽度后高度
百分比 按照父元素的尺寸设计 先宽度后高度
cover 把背景图像扩展至足够大,使其充满整个背景区域,但是图像的有些部分超出背景区域
contain 把背景图像扩大,使其完全适应整个内容区域(推荐使用)
background-size: 100px 200px;background-size: 100% 20%;background-size: cover;background-size: contain;
元素的显示模式
块级元素和行内元素都是元素的显示模式
块级元素
- 独占一行,相当于一个“盒子”
- 高度、宽度、内外边距、行高都可以控制
- 默认宽度是父元素的100%
- 内部可以嵌套块级元素和行内元素
行内元素
- 不独占一行,相当于一段“文本”
- 高度、宽度、行高无效
- 左右外边距有效,上下外边距无效,内边距有效
- 默认宽度是里面的文字本身
- 行内元素中只能容纳文本和其他行内元素,不能放块级元素
行内块元素(少见)
既不独占一行,又可以改变宽度、高度等,如img标签
使用display属性改变元素的显示方式<div><strong>泉城济南,泉甲天下</strong>红瓦绿树,碧海蓝天齐风陶韵,生态淄博江北水城,运河古都 </div>strong{background-color: red;/* 行内元素 转为 块级元素*/display: block;/* 隐藏元素 不显示标签中的内容*/display: none;/* 改为行内块元素 很少见 */display: inline-block;}div{height: 600px;background-color: aqua;/* 块级元素 转为 行内元素 *//* 这种操作极其少见 */display: inline;}
盒模型
每一个HTML标签都相当于一个矩形的“盒子”
注意:边框和内边距会撑大盒子
比如设计盒子的width和height为500px,此时设计的尺寸是不包含边框和内边距的,如果border-width为20px,盒子的width和height会变为520px
使用通配符选择器修改盒子属性,设计的属性包含边框和内边距,盒子依旧是500×500
* {box-sizing: border-box;}
盒子大小
可以用精确数值表示
用百分比表示,与父盒子比较
div {width: 600px;height: 200px;}/* 宽度与父盒子相同 */
div {
width: 100%;
height: 200px;
}
边框
基本属性
border-width 宽度
border-color 颜色
border-style 样式(solid-实线 dashed-虚线 dotted-点线)div{height: 500px;width: 500px;background-color: aqua;/* 基本属性 *//* 边框宽度 */border-width: 10px;/* solid-实线 dashed-虚线 dotted-点线*/border-style: solid; /* 边框颜色 */border-color:blue;/* 简写 没有顺序要求 */border: 10px solid blue;/* 对四个边框分别设计 */border-top: 10px;border-bottom: 10px solid orange;border-left: 10px solid yellow;border-right: 10px solid green;}
内边距
div{ /* 四个方向的内边距均为20px */padding: 20px;/* 上下 左右 */padding: 20px 40px;/* 上 左右 下 */padding: 20px 30px 40px;/* 上 右 下 左 顺时针方向 */padding: 10px 20px 30px 40px;/* 四个方向分开设计 */padding-left: 10px;padding-right: 20px;padding-top: 30px;padding-bottom: 40px;}
外边距
规则同内边距
div{ /* 四个方向的内边距均为20px */margin: 20px;/* 上下 左右 */margin: 20px 40px;/* 上 左右 下 */margin: 20px 30px 40px;/* 上 右 下 左 顺时针方向 */margin: 10px 20px 30px 40px;/* 四个方向分开设计 */margin-left: 10px;margin-right: 20px;margin-top: 30px;margin-bottom: 40px;}
设置块级元素水平居中
margin: auto;margin: 0 auto;/* 垂直居中不能用 margin: auto 0;*/
圆角矩形
每一个HTML标签都相当于一个矩形的“盒子”,现在我们将这个规则的矩形改变成一个圆角矩形
内切圆的半径,数值越大,弧线越强烈
p {width: 600px;height: 200px;background-color: aqua;border-radius: 100px;}
生成圆形
border-radis的值为正方形宽度的一半p {width: 600px;height: 600px;background-color: aqua;border-radius: 300px;/* 50%表示宽度的一半 */ border-radius: 50%;}
展开写法
可以对每个角进行描述border-radius: 100px 300px 20px 90px; /* 左上起 顺时针 *//* 或者是 */border-top-left-radius: 100px ;border-top-right-radius: 300px ;border-bottom-right-radius: 200px ;border-bottom-left-radius: 90px ;
弹性布局
布局就是把某个元素放到某个位置
flex布局的本质是给父盒子添加display:flex属性,来控制子盒子的位置和排列方式
给父元素设置这个属性,父元素里面的子元素都要遵守“弹性布局”的规则,就不在按照块级元素/行内元素的规则排列了,子元素没有设置高度时,其高度与父元素一样
如div和span元素
<style>div{background-color: blueviolet;width: 600px;height: 200px;display:flex;}span{width: 80px;background-color: aqua;} </style> <div><span>泉城济南,泉甲天下</span><span>红瓦绿树,碧海蓝天</span><span>齐风陶韵,生态淄博</span><span>江北水城,运河古都</span> </div>
非弹性布局
弹性布局
属性
设置主轴上(水平方向)子元素的排布方式
主轴默认 水平向右display:flex;/* 元素位于容器最左侧 (默认)*/justify-content: flex-start;/* 元素位于容器最右侧 */justify-content: flex-end;/* 元素居中 */justify-content: center;/* 两边元素先贴近容器边缘,再平分剩余空间 */justify-content: space-between;/* 平分剩余空间 */justify-content: space-around;
设置侧轴(垂直方向)的子元素的排列方式
只针对单行元素display:flex;/* 元素位于容器最上侧 */align-items: flex-start;/* 元素位于容器最底侧 */align-items: flex-end;/* 元素居中 */align-items: center;/* 两边元素先贴近容器边缘,再平分剩余空间 */align-items: space-between;/* 平分剩余空间 */justify-content: space-around;
CSS经典案例--------圣杯布局
左右选项框的宽度是精确值,页面拉伸的时候,选项框的是固定不变的
calc()处理比例和精确值的混合运算,用于计算内容区域的宽度
<style>* {box-sizing: border-box;}header {width: 100%;height: 75px;background-color: lightsalmon;}footer {width: 100%;height: 75px;background-color:chocolate;}div {width: 100%;height:500px;background-color: aquamarine;display: flex;justify-content: space-between;}.left {width: 150px;background-color: rgb(43, 144, 226);}.right {width: 150px;background-color: chartreuse;}.content {/* calc() 处理比例和精确值的混合运算 */width: calc(100% - 320px);background-color: bisque;} </style> <header></header> <div><span class="left"></span><span class="content"></span><span class="right"></span> </div> <footer></footer>
效果图
冰墩墩向你投来了一份花里胡哨的CSS知识手册,快来签收相关推荐
- 北京冬奥会闭幕 冰墩墩概念股怎么样了?
2月20日,北京冬奥会正式闭幕.16天的赛程中,奥运健儿在冰雪赛场大展风采,吉祥物冰墩墩也因为憨厚可爱的形象走红,被网友们称为"顶流"."一墩难求"的热潮甚至吹 ...
- 15分钟扫空5000个冰墩墩,新晋顶流脱销背后,谁是最大赢家?
本文概述:随着冬奥会的开幕,冬奥吉祥物冰墩墩也在全世界越来越火爆,成为全世界的团宠.同时,在冰墩墩成为顶流卖到脱销的时候,背后也有不少商家受益匪浅. 其实不只是冰墩墩,在奥运会举办期间,有多个行业都会 ...
- 冰墩墩和冰壶 xtuexam1512
冰墩墩和冰壶 Accepted : 126 Submit : 1122 Time Limit : 1000 MS Memory Limit : 65536 KB 冰墩墩和冰壶 题目描述 冰壶是被誉 ...
- 冰墩墩+周杰伦也救不了NFT
文|螳螂观察 作者| 青月 火了一年的NFT,2022年似乎还没有火过头. 近日,国际第三大运动品牌.德国上市公司彪马将名字改为"PUMA.eth",某种程度上意味着彪马将继续探索 ...
- 2023复试题预测:送你一堆冰墩墩,拿走不谢~文都管联院
转眼间,年过完了 男足输了,女足赢了 冬奥会开幕式结束了 我们的冰雪健儿已夺2金 可爱的冰墩墩依旧没有抢到 而初试成绩快公布了 复试也该开始了 你们准备好了吗 冰墩墩 冬奥会会出现在复试题目中吗? 答 ...
- 复现Detectron2-blendmask之冰墩墩雪容融自定义数据集语义分割
第一节--Detectron2-BlendMask论文综述 1-1 Detectron2-BlendMask论文摘要 实例分割是计算机视觉中非常基础的任务.近来,全卷积实例分割方法得到了更多的注意力, ...
- 冬奥会区块链亮点:数字雪花、冰墩墩NFT
2022年北京冬奥会的一大亮点莫过于"区块链",凭借其去中心化.公开透明.不可篡改等技术特点在冬奥会"大显身手",为冬奥会的食品安全保障.绿电供应.版权保护.政 ...
- xtuexam 冰墩墩与颜色 1516
冰墩墩与颜色 Accepted : 58 Submit : 694 Time Limit : 1000 MS Memory Limit : 65536 KB 冰墩墩与颜色 题目描述 冰墩墩喜欢丰富 ...
- 华为电脑如何投屏到电视linux,华为手机怎么投屏到电视?这2个方法又快又简单...
原标题:华为手机怎么投屏到电视?这2个方法又快又简单 一直看到有很多人在问:华为手机怎么投屏到电视上,才更简单又快速? 虽然像最新发布的华为Mate X.Mate 20/10系列.华为P20系列等部分 ...
- 华为手机有线共享网络_华为手机怎么投屏到电视?这2个方法又快又简单
原标题:华为手机怎么投屏到电视?这2个方法又快又简单 一直看到有很多人在问:华为手机怎么投屏到电视上,才更简单又快速? 虽然像最新发布的华为Mate X.Mate 20/10系列.华为P20系列等部分 ...
最新文章
- 山东财经大学东方学院有计算机吗,山东财经大学东方学院大一上学期计算机基础期中考试试题...
- 解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variabl
- 附加到IIS进程调试页面
- three.js之性能监视器
- 呜啦啦,园园我来了~
- Buildroot构建指南--Overview
- Android官方开发文档Training系列课程中文版:手势处理之ViewGroup的事件管理
- linux追加SQL结果到文件,RAC环境下误操作将数据文件添加到本地存储
- php怎么在html上得到input值,怎么把一個php頁面的值傳到另一個html表單中的input里面去...
- OpenCV之图像梯度(笔记11)
- C#中类的修饰符,this关键字和static关键字
- 计算机主机hdmi接口是什么意思,hdmi接口有什么用,教您电脑hdmi接口有什么用
- RationalDMIS 2020 RPS坐标系
- 使用 *号在分别在控制台输出一个平行四边形、等腰三角形、菱形
- 显卡的各种故障维修方法
- 348高校毕业设计选题
- 【毕业设计】基于单片机的手势检测识别系统 - arduino 物联网嵌入式
- 相机标定(基础)20221204
- 计算机考研英语复试自我介绍范文,2020考研英语复试自我介绍模板5篇
- 电商项目--------------------商品(SKU)规格、价格功能
热门文章
- 注塑成型工艺流程四大知识点总结
- c语言可以绘制中国地图源码,echarts画中国地图,省市区地图分享
- QQ机器人{协议篇}
- 爱心动画c语言,jquery+html5烂漫爱心表白动画代码分享
- fullcalendar 课程表 js 插件 日程安排操作 js
- C语言期末复习不挂科(快速入门)(和bug郭一起学C系列1)
- linux+软盘启动程序,怎样制作Linux启动软盘.
- python获取工作目录路径为C:\Users\用户名\AppData\Local\Temp...解决方案
- Colorbox 参数设置-中文版
- 常见服务器默认管理口地址