前端3

背景属性

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

    <style>
        div {
            width: 400px;
            height:400px;
            /*background-color: red;  背景色为红色*/
            /*background-color: purple;  背景色为紫色*/
            /*background-image: url("yq.png");   设置背景图片,图片的地址为yq.png*/
            /*background-repeat: repeat;  背景图片平铺排满整个网页(默认)*/
            /*background-repeat: repeat-x;  背景图片只在水平方向上平铺*/
            /*background-repeat: repeat-y;  背景图片只在垂直方向上平铺*/
            /*background-repeat: no-repeat; 背景图片不平铺*/
            /*background-position: center center;   设置背景图片所在的位置*/
            /*
                第一个值代表的是距离左边的大小
                第二个值代表的是距离上边的大小

            */
            /*background-position: 50px 100px;*/

            border: 1px solid red;
            /*给div添加一个边框线*/

        /*    只要是前缀一样的属性名, 都可以简写, 没有顺序要求*/
            background: red url("yq.png") center center no-repeat ;

        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

边框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p {
            /*border-width: 3px;*/
            /*border-color: red;*/
            /*border-style: solid;*/
            /*给块级标签p添加一个边框线宽度为3px,颜色为红色,实线的边框*/

            border-left-color: purple;
            border-left-style: solid;
            border-left-width: 5px;
            /*给边框的左侧添加属性,宽度为5px,颜色为紫色,实线的边框*/

            border-right-color: red;
            border-right-style: solid;
            border-right-width: 5px;
            /*给边框的右边添加属性,宽度为5px,颜色为红色,实线的边框*/

            border-top-color: red;
            border-top-style: dashed;
            border-top-width: 3px;
            /*给边框的上边添加属性,宽度为3px,颜色为红色,矩形虚线的边框*/

            border-bottom-color: red;
            border-bottom-style: dotted;
            border-bottom-width: 10px;
            /*给边框的下边添加属性,宽度为10px,颜色为红色,点状虚线的边框*/

        /*  简写  */
        /*    border: 3px solid red;*/
        }

        div {
            width: 400px;
            height: 400px;
            background: red;
            /*border-radius: 20px;*/
            /*border-radius: 200px;*/
            border-radius: 80%;
            /*border-radius用这个属性实现圆角边框的效果,将border-radius设置为长或高的一半即可得到一个圆形,
            其值大于50%实现的效果也是一个圆*/
            /*border-bottom-left-radius: 50%;*/
            /*border-top-right-radius: 50%;*/
        }
        /*给块级标签div添加属性宽度为400px,高度400px,背景色为红色*/

    </style>
</head>
<body>
    <p>洋哥很帅</p>
    <div></div>
</body>
</html>

display属性

用于控制HTML元素的显示效果。

意义
display:"none" HTML文档中元素存在,但是在浏览器中不显示。一般用于配合JavaScript代码使用。
display:"block" 认占满整个页面宽度,如果设置了指定宽度,则会用margin填充剩下的部分。
display:"inline" 按行内元素显示,此时再设置元素的widthheightmargin-topmargin-bottomfloat属性都不会有什么影响。
display:"inline-block" 使元素同时具有行内元素和块级元素的特点。

 

display:"none"与visibility:hidden的区别:

visibility:hidden: 可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

display:none: 可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*#d1 {*/
        /*    width: 100px;*/
        /*    height: 100px;*/
        /*    background: red;*/
        /*    display: inline-block;*/
        /*}*/
        
        /*display: inline;可以使用此id名的标签获得行级标签的特点*/

        /* #d2 {*/
        /*    width: 100px;*/
        /*    height: 100px;*/
        /*    background: green;*/
        /*     display: inline-block;*/
        /*}*/
        
        /*display: inline-block;可以使用此id名的标签同时获得块级标签和行级标签的特点*/

         #d1 {
            width: 100px;
            height: 100px;
            background: red;
            display: block;
        }

         #d2 {
            width: 100px;
            height: 100px;
            background: green;
             /*display: inline-block;*/
             display: block;
        }
         /*display: block;可以使用此id名的标签获得块级标签的特点*/

        /*#d1 {*/
        /*    width: 100px;*/
        /*    height: 100px;*/
        /*    background: red;*/
        /*    !*display: block;*!*/
        /*    !*display: none;*!*/
        /*}*/

        /*#d2 {*/
        /*    width: 100px;*/
        /*    height: 100px;*/
        /*    background: green;*/
        /*    !*display: inline-block;*!*/
        /*    !*display: block;*!*/
        }
    </style>
</head>
<body>
<!--<div id="d1" style="visibility: hidden"></div>-->
<!--<div id="d2"></div>-->

<span id="d1">span1</span>
<span id="d2">span2</span>
</body>
</html>

盒子模型

margin外边距

.margin-test {
  margin-top:5px;
  margin-right:10px;
  margin-bottom:15px;
  margin-left:20px;
}

推荐使用简写:

.margin-test {
  margin: 5px 10px 15px 20px;
}

顺序:上右下左

常见居中:

.mycenter {
  margin: 0 auto;
}

margin值不叠加,非常重要,面试可能会问

padding内填充

.padding-test {
  padding-top: 5px;
  padding-right: 10px;
  padding-bottom: 15px;
  padding-left: 20px;
}

推荐使用简写:

.padding-test {
  padding: 5px 10px 15px 20px;
}

顺序:上右下左

补充padding的常用简写方式:

  • 提供一个,用于四边;
  • 提供两个,第一个用于上-下,第二个用于左-右;
  • 如果提供三个,第一个用于上,第二个用于左-右,第三个用于下;
  • 提供四个参数值,将按上-右-下-左的顺序作用于四边;
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>

        * {
            /*margin: 0;*/
            /*margin相当于两个标签(元素)之间的距离*/
            margin-top: 10px;
            margin-left: 20px;
            margin-right: 30px;
            margin-bottom: 40px;
            /*一个值代表四个方向*/
            /*margin: 10px;*/

            /*两个值, 第一个代表上下, 第二个代表左右*/
            /*margin: 10px 20px;*/

            /*三个值,第一个代表上, 第二个代表左右, 第三个代表下*/
            /*margin: 10px 20px 30px;*/

            /*上右下左*/
            /*margin: 10px 20px 30px 40px;*/
        }
        p {
            margin: 0;
        }

        p {
            border: 3px solid red;
        }

         </style>
</head>
<body>
    <p>我是大帅哥</p>
</div>
</body>
</html>

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*margin值不叠加,非常重要,面试可能会问*/
        #d1 {
            width: 100px;
            height: 100px;
            background: red;
            margin-bottom: 30px;
        }

        #d2 {
            width: 100px;
            height: 100px;
            background: green;
            margin-top: 50px;
        }
    </style>
</head>
<body>
<div id="d1">div1</div>
<div id="d2">div2</div>
</div>
</body>
</html>

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #d1 {
            width: 300px;
            height: 300px;
            /*background: red;*/
              border: 3px solid red;
            /*margin-bottom: 30px;*/


        }

        #d2 {
            width: 50px;
            height: 50px;
            background: green;
            /*margin-top: 50px;*/
            /*padding-left: 100px;*/
            /*    margin-left: 75px;*/

            /*让块级元素居中, 而且只能水平居中*/
            margin: 0 auto; 
        }
    </style>
</head>
<body>
<div id="d1">
    <div id="d2"></div>
</div>
</body>
</html>

float

在 CSS 中,任何元素都可以浮动。

浮动元素会生成一个块级框,而不论它本身是何种元素。

关于浮动的两个特点:

  • 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
  • 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

三种取值

left:向左浮动

right:向右浮动

none:默认值,不浮动

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

clear

clear属性规定元素的哪一侧不允许其他浮动元素。

描述
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值。

注意:clear属性只会对自身起作用,而不会影响其他元素。

清除浮动

清除浮动的副作用(父标签塌陷问题)

主要有三种方式:

  • 固定高度
  • 伪元素清除法
  • overflow:hidden

伪元素清除法(使用较多):

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #d1 {
            border: 3px solid red;
        }

        #d2 {
            width: 100px;
            height: 100px;
            background: red;
            float: left;
        }

        #d3 {
            width: 100px;
            height: 100px;
            background: green;
            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>

overflow溢出属性 

描述
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit 规定应该从父元素继承 overflow 属性的值。

 

  • overflow(水平和垂直均设置)
  • overflow-x(设置水平方向)
  • overflow-y(设置垂直方向
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        p {
            width: 200px;
            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: #eeeeee;
        }

        div {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            border: 3px solid red;
            margin: 0 auto;
            overflow: hidden;
        }

        #d1 img {
            width: 100%;
        }
    </style>
</head>
<body>
    <div id="d1">
        <img src="1111.png" alt="">
    </div>
</body>
</html>

定位

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

    <style>
        #d1 {
            width: 100px;
            height: 100px;
            background: red;
        /*    定位, 默认是static,不能改变位置*/

            /*相对定位*/
            /*position: static;*/

            /*改成relative之后,性质已经发生改变了,有原来的不能改变位置,转为可以改变位置,哪怕你不移动位置,性质也发生了改变*/
            position: relative;

        /*    向左移动100px, 向上移动100个px*/
            left: 100px;
            top: 100px;
        }
        #d2 {
            width: 100px;
            height: 100px;
            background: red;
            position: relative;
        }

        #d3 {
            width: 100px;
            height: 200px;
            background: green;
            position: absolute;
            left: 100px;
            top: 100px;
        }

        #d4 {
            width: 100px;
            height: 100px;
            background: blue;
            position: fixed;
            right: 20px;
            bottom: 20px;
            /*left: 10%;*/
        }
    </style>
</head>
<body>
<!--
定位:
    1. 静态
    2. 相对定位   relative
        相对于原来的位置定位
    3. 绝对定位   absolute
        相对于父标签定位, 如果没有父标签,相对于body
    4. 固定定位     fixed
        相对于浏览器窗口
-->
<!--相对定位-->
<!--<div id="d1"></div>-->

<!--绝对定位, 相对的父标签要先定位-->
<!--<div id="d2">-->
<!--    <div id="d3"></div>-->
<!--</div>-->

<!--固定定位-->

<div style="height: 500px;background: red" id="d5"></div>
<div style="height: 500px;background: green"></div>
<div style="height: 500px;background: orange"></div>
<div id="d4">
    <a href="#d5" style="color: white">回到顶部</a>
</div>
</body>
</html>

z-index

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body {
            background: #eeeeee;
        }
        #d2 {
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            top: 0;
            background: rgba(0,0,0,0.5);
            z-index: 9999;
        }

        #d3 {
            width: 200px;
            height: 200px;
            position: fixed;
            left: 50%;
            top: 50%;
            background: white;
            margin-left: -100px;
            margin-top: -100px;
            z-index: 10000;
        }
    </style>
</head>
<body>
<div id="d1">我是最里面的内容</div>
<div id="d2"></div>
<div id="d3">
    <p>username: <input type="text"></p>
    <p>password:<input type="text"></p>
    <button>登陆</button>
</div>
</body>
</html>

opacity

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #d1 {
            background: rgba(110,120,130,0.2);
        }

        #d2 {
            color: green;
            opacity: 0.1;
        }
    </style>
</head>
<body>
    <div id="d1">div111</div>
    <div id="d2">div222</div>
</body>
</html>

 

前端3

上一篇:Windows下安装并设置Redis


下一篇:字符编码和文件处理