day44 css

css样式操作

给标签设置长宽

只有块级标签才可以设置长宽,行内标签设置了没有任何作用(仅仅只取决于内部文本值)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
             200px;
            height: 400px;
        }
        span {
             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 {
            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- 粗细

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 ;
             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 {
             50px;
            height: 50px;
            background: red;
            border: 5px solid lime;
            display: inline;
        }
        .c2 {
            border: 5px solid red;
            display: block;
            height: 400px;
             400px;
        }
        .c3 {
            display: inline-block;
            border: 5px solid greenyellow;
             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;*/
            /* 100px;*/
            padding: 55px;

        }
    </style>
</head>
<body>
<div class="c1">
    <div id="d1" style="border: 3px solid red;background-color: green; 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 {
             100px;
            height: 100px;
            background-color: red;
            float: left;
        }
        .c2 {
             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;
             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;
             120px;
            border: 5px solid white;
            border-radius: 50%;
            overflow: hidden;
        }
        /*img {*/
            /* 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 {
             100px;
            height: 100px;
            background-color: gold;
            position: relative;
            left: 200px;
            top: 200px;
        }
         .c2 {
            position: relative;  /*将c2从一个不是定位标签变成已经定位过的标签*/
            height: 100px;
             200px;
            background-color: black;
        }
        /*.c3 {*/
            /*position: absolute;*/
            /*height: 200px;*/
            /* 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;
             2000px;
            z-index: 999;
        }
        .modal {
            background-color: white;
            z-index: 1000;
            position: fixed;
            height: 200px;
             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>
原文地址:https://www.cnblogs.com/zqfzqf/p/11863339.html