css

33 css

基本选择器

1.元素选择器
p {color: "red";}
2.ID选择器
#i1 {
  background-color: red;
}
3.类选择器
复制代码
.c1 {
  font-size: 14px;
}
p.c1 {
  color: red;
}
复制代码
注意:

样式类名不要用数字开头(有的浏览器不认)。

标签中的class属性如果有多个,要用空格分隔。

属性选择器

/*用于选取带有指定属性的元素。*/
        [username] {
            color: red;
        }
/*用于选取带有指定属性和值的元素。*/
         [username='z'] {
            color: red;
        }
    /*寻找div里面的username=z*/
         div[username='z'] {
            color: red;
        }

组合与嵌套

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*后代选择器,只是div里面的p变*/
        div p {
            color: red;
        }

        /*逗号表示并列关系id=d1和class=c1 */
         #d1, .c1 {
            color: red;
        }

    </style>
</head>
<body>
<div id="d1">
    div
    <p>
        div-p
        <span>
           div-p-span

        </span>
    </p>
</div>
<p>
    pppppppp
</p>
<span class="c1">sapn11111</span>
<div id="d2">
    div
</div>
</body>

伪类选择器 超链接配合着

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        a {
            color: gray;
        }

        /*鼠标悬浮时候的样式, 掌握主*/
        a:hover {
            color: beige;
        }

        /*按住鼠标左键不放松的样式*/
        a:active {
            color: green;
        }

        /*访问之后的样式*/
        a:visited {
            color: blue;
        }
    </style>
</head>
<body>
<a href="">点我哦</a>
</body>
</html>

违元素选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*第一个字母*/
        p:first-letter {
            color: red;
            font-size: 24px;
        }

        /*在什么什么之前加的东西 content要写这个*/
        p:before {
            content: 'kill is 活着';
            font-size: 28px;
            color: blue;
        }


        /*解决父标签塌陷问题 在什么什么之后*/
        p:after {
            content: 'kill and 死亡';
            font-size: 28px;
            color: green;
        }
    </style>
</head>
<body>
<p>
    人活着是为了是什么
</p>
<!--<ul>-->
<!--    <li></li>-->
<!--    <li></li>-->
<!--    <li></li>-->
<!--    <li></li>-->
<!--    <li></li>-->
<!--</ul>-->
</body>
</html>

选择器的优先级

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

<!--    <style>-->
<!--        #d1 {-->
<!--            color: blue;-->
<!--        }-->
<!--    </style>-->
<!--    <link rel="stylesheet" href="mycss.css">-->

    <style>
        #d1 {
            color: red;
        }

        .c1 {
            color: green;
        }

        div {
            color: blue;
        }
    </style>
</head>
<body>
<!--
选择器优先级
1. 选择器相同的情况
        离谁越近就听谁的
        后执行的把前面覆盖
2. 选择器不同的情况
       行内式 > id选择器 > 类选择器 > 标签选择器
-->

<!--<div id="d1" style="color: black">div</div>-->

<div id="d1" class="c1" style="color: black">div</div>
</body>
</html>

设置长宽

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            background: red;
        }
        span {
            /*行内元素不能设置宽和高*/
            /*设置了也没用*/
            /*width: 100px;*/
            /*height: 100px;*/
            background: green;
        }
    </style>
</head>
<body>
<div>div</div>
<span>span</span>
</body>
</html>

字体属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p {
            font-size: 20px;
            颜色的英文名
            color: limegreen;
            
            范围是0-255
            color: rgb(101,119,120);
            
            a的范围是0-1
            color: rgba(101,119,120, 0.9);
            
            颜色编号,表示的颜色最多,1600w
            color: #757575;
            
            color: red;
            font-weight: bolder;
            
            /* 范围是100-900的整数*/
            font-weight: 800;

        }
    </style>
</head>
<body>
<p>
    块级标签才能设置宽度,内联标签的宽度由内容来决定。
</p>
</body>
</html>

文字属性

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        p {            /*text-align: left;*/左边对齐 默认值            /*text-align: center;*/居中对齐            /*text-align: right;*/右对齐            /*text-decoration: underline;*/定义文本下的一条线。            /*text-decoration: line-through;*/定义穿过文本下的一条线。删除线            /*text-decoration: overline;*/定义文本上的一条线。            font-size: 20px;            text-indent: 40px;        }        a {            /*掌握 默认。定义标准的文本。*/            text-decoration:underline;        }    </style></head><body><p>块级标签才能设置宽度,内联标签的宽度由内容来决定。块级标签才能设置宽度,内联标签的宽度由内容来决定。块级标签才能设置宽度,内联标签的宽度由内容来决定。块级标签才能设置宽度,内联标签的宽度由内容来决定。块级标签才能设置宽度,内联标签的宽度由内容来决定。块级标签才能设置宽度,内联标签的宽度由内容来决定。块级标签才能设置宽度,内联标签的宽度由内容来决定。块级标签才能设置宽度,内联标签的宽度由内容来决定。块级标签才能设置宽度,内联标签的宽度由内容来决定。</p><a href="">点我</a></body></html>

背景属性

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        div {            width: 400px;            height: 400px;            /*background: red;背景色*/            /*background-color: red;*/            background-image: url("1234.png");            /*background-repeat: repeat-x;*/            /*!*background-repeat: repeat-y;*! 背景图片只在垂直方向上平铺y轴上下铺*/            /*!*background-repeat: no-repeat;*!背景图片不平铺*/            /*background-position: center center ;*/居中            /*background-position: 20px 50px;*/            /*只要前缀一样的情况,都可以简写*/            background: center center url("1234.png");            border: 3px solid red; solid实线            background-attachment: fixed;        }    </style></head><body>    <div></div></body></html>

边框

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        p {            dotted:点状虚线边框。 none无边框,dashed 矩形虚线边框,solid	实线边框            /*border: 1px solid red;*/            /*border-width: 3px;*/            /*border-style: dotted;*/            /*border-color: red;*/            /*border-left-color: red;*/            /*border-left-style: solid;*/            /*border-left-width: 10px;*/            /*border-top-color: green;*/            /*border-top-style: dotted;*/            /*border-top-width: 5px;*/            /*border-right-color: green;*/            /*border-right-style: dotted;*/            /*border-right-width: 5px;*/            /*border-bottom-color: green;*/            /*border-bottom-style: dotted;*/            /*border-bottom-width: 5px;*/            border: 3px solid red;        }        div {            width: 200px;            height: 200px;            background: red;            /*border-radius: 100px;*/            /*border-bottom-left-radius: 100px;*/            /*border-bottom-right-radius: 100px;*/            border-radius: 50%;            /*用这个属性能实现圆角边框的效果。 将border-radius设置为长或高的一半即可得到一个圆形。*/        }    </style></head><body><!--<p>ppppppppp</p>--><div></div></body></html>

display属性

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        /*#d1 {*/        /*    width: 100px;*/        /*    height: 100px;*/        /*    background: red;*/        /*    display: inline-block;*/ 块级元素转成行级元素+块级元素        /*}*/        /*#d2 {*/        /*    width: 100px;*/        /*    height: 100px;*/        /*    background: green;*/        /*    display: inline-block;*/块级元素转成行级元素+块级元素        /*}*/        /*#d3 {*/        /*    width: 100px;*/        /*    height: 100px;*/        /*    display: block;*/ 行级元素转块级元素        /*    background: red;*/        /*}*/        /*#d4 {*/        /*    width: 100px;*/        /*    height: 100px;*/        /*    display: block;*/行级元素转块级元素        /*    background: green;*/        /*}*/        #d5 {            width: 100px;            height: 100px;            /*隐藏*/            /*display: none; */  隐藏空间不在            background: red;        }        #d6 {            width: 100px;            height: 100px;            display: block;            background: green;        }    </style></head><body><!--<div id="d1"></div>--><!--<div id="d2"></div>--><!--<span id="d3">span1</span>--><!--<span id="d4">span2</span>--><!--<div id="d5" style="visibility: hidden"></div>-->  隐藏空间还在<div id="d5" ></div><div id="d6"></div></body></html>

css盒子模型

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        * {            margin: 0;            /*margin-top: 50px;*/            /*margin-left: 30px;*/        }        p {            /*margin: 0;*/            /*margin-left: 30px;*/            /*margin-top: 50px;*/            /*margin-right: 40px;*/            /*margin-bottom: 20px;*/            /*margin:10px;*/            /*第一个值代表上下,第二个代表左右*/            /*margin:10px 20px;*/            /*第一个值代表上,第二个代表左右,第三个代表下*/            /*margin:10px 20px 30px;*/            /*上 右 下 左*/            /*margin:10px 20px 30px 40px;*/        }        /*#d1 {*/        /*    width: 100px;*/        /*    height: 100px;*/        /*    background: red;*/        /*    margin-bottom: 20px;*/        /*}*/        /*#d2 {*/        /*    width: 100px;*/        /*    height: 100px;*/        /*    background: green;*/        /*    margin-top: 50px;*/        /*}*/         #d1 {            width: 200px;            height: 200px;            border: 3px solid red;        }        p {            width: 20px;            height: 20px;            background: green;            /*margin-left: 90px;*/            /*水平居中*/            margin: 0 auto;        }    </style></head><body><!--<p>--><!--    ppppppp--><!--</p>--><!--<div id="d1"></div>--><!--<div id="d2"></div>--><div id="d1">    <p id="p1"></p></div></body></html>

浮动float

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        #d1 {            width: 100px;            height: 100px;            background: green;            float: left; 浮起来靠左浮动        }         #d2 {            width: 110px;            height: 110px;            background: red;             /*float: left;*/        }    </style></head><body><div id="d1"></div><div id="d2"></div></body></html>

浮动带来的问题

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        #d1 {            border: 3px solid blue;        }        #d2 {            width: 100px;            height: 100px;            background: green;            float: left;        }        #d3 {            width: 100px;            height: 100px;            background: red;            float: left;        }        /*#d4 {*/        /*    !*height: 100px;*!*/        /*    !*清除浮动*!*/        /*    clear: left;*/        /*}*/		/*伪元素清除法*/        .clearfix:after {            content: '';            display: block;            clear: both;        }    </style></head><body><div id="d1" class="clearfix">    <div id="d2"></div>    <div id="d3"></div>    <div id="d4"></div></div></body></html>

溢出属性

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        p {            width: 100px;            height: 100px;            border: 3px solid red;            /*overflow: hidden;*/            overflow: scroll;        }    </style></head><body><p>由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。</p></body></html>

溢出案例

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        body{            background: darkgrey;    背景色        }        #d1{            width: 120px;            height: 120px;            border: 3px solid white;   边框3px实线白色            border-radius: 50%;      设置百分之50变成圆形            margin: 0 auto;          居中显示            overflow: hidden;        溢出隐藏        }        #d1 img{            width: 100%;           宽度以父标签为准        }    </style></head><body><div id="d1">    <img src="1234.png"></div></body></html>

定位

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        #d1 {            width: 100px;            height: 100px;            background: red;            /*默认值,不能移动位置*/            /*position: static;*/            /*相对定位了, 只要改为relative, 那么就算你位置不发生移动,标签的性质也已经发生了改变                有不能移动位置改为可以移动位置            */            position: relative;            left: 100px;            top: 100px;            /*right: 100px;*/            /*bottom: 100px;*/        }        #d2 {            width: 100px;            height: 100px;            background: red;            position: relative;            margin-left: 100px;        }        #d3 {            width: 100px;            height: 100px;            background: green;            position: absolute;            left: 100px;            top: 100px;        }        #d4 {            width: 50px;            height: 200px;            background: red;            /*固定定位*/浏览器不动的地方            position: fixed;            right: 20px;            bottom: 100px;        }    </style></head><body><!--static:默认的,不能移动位置relative:相对定位    相对于他自己本身定位absolute:绝对定位    相对于父标签定位, 如果没有父标签相对于bodyfixed:固定定位    相对于浏览器窗口--><!--<div id="d1"></div>--><!--<div id="d2">--><!--    <div id="d3"></div>--><!--</div>--><div style="height: 500px;background: red"></div><div style="height: 500px;background: green"></div><div style="height: 500px;background: orange"></div><div id="d4">回到顶部</div></body></html>

opacity

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        p {            color: red;            opacity: 0.2;越小越透明0-1范围        }    </style></head><body><p>hello</p></body></html>

z-index

/*z-index 值表示谁压着谁,数值大的压盖住数值小的,只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-indexz-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。*/<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        body {            margin: 0;            /*background: #4e4e4e;*/        }        .cover {            position: fixed;            left: 0;            top: 0;            right: 0;            bottom: 0;            background: rgba(0, 0, 0, 0.5);            z-index: 999;        }        .modal {            width: 200px;            height: 200px;            background: white;            position: fixed;            left: 50%;            top: 50%;            margin-left: -100px;            margin-top: -100px;            z-index: 1000; 数字大的在最外层 直接看到的那层,z轴的数据距离我们的距离        }    </style></head><body><div>里面的内容</div><div class="cover"></div><div class="modal">    <p>        用户名:<input type="text">    </p>    <p>        密码:<input type="text">    </p>    <p>        <input type="submit" value="登录">    </p></div></body></html>
posted @ 2021-09-07 21:16  迪迦张  阅读(22)  评论(0编辑  收藏  举报