css样式操作
给标签设置长宽
只有块级标签才可以设置长宽,行内标签设置了没有任何作用(仅仅只取决于内部文本值)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { width: 200px; height: 400px; } span { width: 50px; height: 50px; } </style> </head> <body> <div> div </div> <span>span</span> </body> </html>
字体属性
font-family: 字体类型
font-size: 字体大小
font-weight: 字体粗细
值|描述
:-:|:-:
normal|默认值,标准粗细
bold|粗体
bolder|更粗
lighter|更细(***************)
100~900|设置具体粗细,400等同于normal,而700等同于bold
inherit|继承父元素字体的粗细值
color: 字体颜色
颜色英文 red
06a0de 直接用python提供的取色器即可
rgb(1,1,1) 可以利用截图软件获取三基色数字
rgba(128,128,128,0.6) 最后一个数字,只能用来调节颜色的透明度
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> p { font-family:"Microsoft Yahei", "微软雅黑", "Arial", sans-serif ; font-size: 24px; font-weight: lighter; color: lime; } </style> </head> <body> <p>写教案就发你能否的男女我我佛</p> </body> </html>
文字属性
a { text-decoration:none;取消a标签默认的下划线 }
text-align: 文本内容对齐方式
值 | 描述 |
---|---|
left | 左边对齐 默认值 |
right | 右对齐 |
center | 居中对齐 |
justify | 两端对齐 |
text-decoration 给文字添加特殊效果
值 | 描述 |
---|---|
none | 默认,定义标准的文本 |
underline | 定义文本下的一条线 |
overline | 定义文本上的一条线 |
line-through | 定义穿过文本下的一条线 |
inherit | 继承父元素的text-decoration属性的值 |
text-indent: 首行缩进
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> p { text-align: center; text-decoration: underline; font-size: 24px; text-indent: 48px;/*是字体大小的双倍*/ } a { text-decoration: none; } </style> </head> <body> <p>书里说 生命中许多事情 沉重婉转至不可说 </p> <a href="#">书里说 生命中许多事情 沉重婉转至不可说 </a> </body> </html>
背景属性
背景图片,默认是铺满整个区域的
通常一个页面上的一个个的小图标并不是单独的,而是一张非常大的图片,该图片上有网址所能用到的所有小图标,通过控制背景图片的位置来显示不同的图标样式
background-color: 背景颜色
background-image: 背景图片
background-repeat: 平铺
值 | 描述 |
---|---|
repeat | 默认值,背景图片平铺满整个区域 |
no-repeat | 不平铺 |
repeat-x | 只在x轴平铺 |
repeat-y | 只在y轴平铺 |
background-position: 图片位置,两个参数,第一个x轴,第二个y轴
支持简写 background
background-attachment:fixed; 背景固定不动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { width:400px ; height: 400px; /*background-color: lime;*/ /*background-image:url("111.png");*/ /*background-repeat:no-repeat;*/ /*background-position: center center;*/ /*支持简写*/ background: lime url("111.png") no-repeat center center; } </style> </head> <body> <div></div> </body> </html>
边框
border-width: 粗细
border-style: 样式
值 | 描述 |
---|---|
none | 无边框 |
dotted | 点状虚线边框 |
dashed | 矩形虚线无边框 |
solid | 实线边框 |
border-color: 颜色
可简写:border:solid red px;
可单独设置某一边的样式
border-top: 上边
border-left: 左边
border-right:右边
border-bottom:下面
border-radius: 画圆
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> p { border: 2px red solid; /*border-top:2px red solid ;*/ /*border: 2px dot-dash;*/ } </style> </head> <body> <p>书里说 生命中许多事情 沉重婉转至不可说</p> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { border: 1px solid red; background-color: red; height:400px ; width: 400px; border-radius: 50%; } </style> </head> <body> <div></div> </body> </html>
display
inline: 将块级标签变成行内标签
block: 能够将行内标签变成可以设置长宽和独占一行
inline-block:同时具有行内元素和块级元素的特点(既可以设置长宽又可以在一行展示)
display:none 隐藏标签,并且标签原来站的位置也没有了
visibility:hidden 隐藏标签,但是标签原来的位置还在
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .c1 { width: 50px; height: 50px; background: red; border: 5px solid lime; display: inline; } .c2 { border: 5px solid red; display: block; height: 400px; width: 400px; } .c3 { display: inline-block; border: 5px solid greenyellow; width: 100px; height: 100px; } </style> </head> <body> <div class="c1">书里说 生命中许多事情 沉重婉转至不可说</div> <span class="c2">书里说 生命中许多事情 沉重婉转至不可说</span> <span class="c3"></span> <span class="c3"></span> <div style="visibility: hidden">111</div> 222 </body> </html>
盒子模型
谷歌浏览器body默认有8px外边距
body { margin:0px; }
以快递盒为例
1.两个快递盒之间的距离(标签与标签之间的距离) 外边距(margin)
2.快递盒盒子的厚度(边框border) 边框(border)
3.快递盒的物品距离内边框的距离(内部文本与内边框之间的距离) 内边距(内填充)padding
4.物品的大小(文本大小) 内容(content)
margin-top: 0; margin-bottom: 0; margin-left: 0; margin-right: 0; margin :15px; 只写一个参数 上下左右全是 margin:10px 20px; 上下 左右 margin:10px 20px 30px; 上 左右 下 margin:10px 20px 30px 40px; 顺时针 margin:0 auto;只能左右居中 不能上下居中 padding简写规律与margin一样 padding-top: 10px; padding-left: 20px; padding-bottom: 50px; padding-right: 100px; padding: 40px; padding: 40px 80px; padding: 40px 80px 120px; padding: 40px 80px 120px 10px;
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> /*body {*/ /*margin: 0px;*/ /*}*/ .c1 { border: 5px solid red; /*height: 100px;*/ /*width: 100px;*/ padding: 55px; } </style> </head> <body> <div class="c1"> <div id="d1" style="border: 3px solid red;background-color: green;width: 50px;height:50px ;margin: 0 auto"></div> </div> </body> </html>
浮动 float
在css中,任何元素都可以浮动
浮动的元素是脱离正常文档交流的(原来的位置会让出)
浏览器会优先展示文本内容
float:
left 左浮动
right 右浮动
none 默认值,不浮动
浮动带来的影响:
会造成父标签塌陷
clear 可以清楚浮动带来的影响
left 左边不允许浮动元素
right 右边
none 允许浮动元素出现在两侧
.ckearfix:after { content:''; clear:both;左右两边都不能有浮动的元素 display:block; }那个父标签塌陷了,就给谁加clearfix这个类属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body { margin: 0; } .c1 { width: 100px; height: 100px; background-color: red; float: left; } .c2 { width: 100px; height: 100px; background-color: greenyellow; float: left; } .c3 { border: 3px solid black; } .clearfix:after { content: ''; clear: both; /*左右两边都不能有浮动的元素*/ display: block; } </style> </head> <body> <div class="c3 clearfix"> <div class="c1"></div> <div class="c2"></div> </div> </body> </html>
溢出overflow
值 | 描述 |
---|---|
visible | 默认值。内容不会被修剪,会呈现在元素框之外。 |
hidden | 内容会被修剪,并且其余内容是不可见的。 |
scroll | 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。 |
auto | 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容 |
inherit | 规定应该从父元素继承 overflow 属性的值。 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { height: 50px; width: 50px; border: 3px solid red; /*overflow: hidden;*/ overflow: scroll; } </style> </head> <body> <div>asdfghjklsdfghjklasdfghjklsdfghjkdfghjklsdfghjksdfghjk</div> </body> </html>
圆形头像
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body { background-color: darkgray; } .c1 { height: 120px; width: 120px; border: 5px solid white; border-radius: 50%; overflow: hidden; } /*img {*/ /*width: 100%;*/图片大小 /*}*/ </style> </head> <body> <div class="c1"> <img src="222.jpg" alt=""> </div> </body> </html>
定位
所有的标签默认都是静态的 无法改变位置
position:static
必须将静态的状态修改成定位之后
相对定位(了解) relative
相对于标签原来的位置移动
绝对定位(小米的购物车)absolute
相对于已经对位过(只要不是static都可以 relative)的父标签 再定位
固定定位 fixed
相对于浏览器窗口 固定在某个位置不动
位置的辩护是否脱离文档流
1.不脱离文档流
相对定位
2.脱离文档流
浮动的元素
绝对定位
固定定位
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> /*.c2 {*/ /*border: 5px solid black;*/ /*background-color: pink;*/ /*position: fixed;*/ /*bottom: 50px;*/ /*right: 50px;*/ /*}*/ .c1 { width: 100px; height: 100px; background-color: gold; position: relative; left: 200px; top: 200px; } .c2 { position: relative; /*将c2从一个不是定位标签变成已经定位过的标签*/ height: 100px; width: 200px; background-color: black; } /*.c3 {*/ /*position: absolute;*/ /*height: 200px;*/ /*width: 800px;*/ /*top: -50px;*/ /*left: 200px;*/ /*background-color: pink;*/ /*}*/ </style> </head> <body> <div class="c1"></div> <div class="c2"> <div class="c3"></div> </div> <!--<div style="height: 10000px;background-color: darkgray" class="c1"></div>--> <!--<div style="height: 10000px;background-color: green" class="c1"></div>--> <!--<div style="height: 10000px;background-color: red" class="c1"></div>--> <!--<div class="c2">回到顶部</div>--> </body> </html>
z-index控制z轴
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .cover { background-color: rgba(128,128,128,0.4); position: fixed; top: 0; left: 0; right: 0; bottom: 0; height: 2000px; width: 2000px; z-index: 999; } .modal { background-color: white; z-index: 1000; position: fixed; height: 200px; width: 400px; top: 50%; left: 50%; margin-top: -100px; margin-left: -200px; } </style> </head> <body> <div>我是最底下的被压着那个</div> <div class="cover"></div> <div class="modal"> <form action=""> <p>username: <input type='text'> </p> <p>password: <input type='text'> </p> <input type="submit"> </form> </div> </body> </html>
透明度
opacity 既可以调颜色也可以调字体
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .c1 { background-color: rgba(128,128,128,0.4); opacity: 0.2; } .c2 { opacity: 0.2; background-color: red; } </style> </head> <body> <p class="c1">111</p> <p class="c2">222</p> </body> </html>