• CSS的属性相关和模态框


    1012 CSS的属性相关和模态框

    1、宽和高

    width属性可以为元素设置宽度。

    height属性可以为元素设置高度。

    块级标签才能设置宽度,内联标签的宽度由内容来决定。

    2、字体属性

    2.1 文字字体:font-family

    font-family可以把多个字体名称作为一个“回退”系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识别的第一个值。

    eg:

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            body { font-family: "Microsoft Yahei", "微软雅黑", "Arial", sans-serif }
        </style>
    </head>
    <body>
    <span>我是span</span>
    
    </body>
    

    2.2 字体大小:font-size

    eg:

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
           span{
                font-size: 23px;
            }
        </style>
    </head>
    <body>
    <span>我是span</span>
    
    </body>
    

    如果设置成inherit表示继承父元素的字体大小值。

    2.3 字重(粗细):font-weight

    字重的值:

    描述
    normal 标准粗细
    bold 粗体
    bolder 更粗
    lighter 更细
    100~900 设置具体粗细,400等同于normal,而700等同于bold
    inherit 继承父元素字体的粗细值,默认值,

    eg:

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
           span{
                font-weight: normal;
            }
        </style>
    </head>
    <body>
    <span>我是span</span>
    
    </body>
    

    2.4 字体颜色:color

    eg:下面代码都是设置字体颜色为红色

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
           span{
                /*十六进制值 - 如color: #FF0000*/
                color: #FF0000;
                /*一个rgb值 - 如color: rgb(255,0,0)*/
                color: rgb(255,0,0);
                /*颜色的名称 - 如color:  red*/
                color: red;
                /*color:rgba(255,0,0,0.3),第四个值为alpha, 指定了色彩的透明度/不透明度,它的范围为0.0到1.0之间*/
                color: rgba(255,0,0,0.3);
            }
        </style>
    </head>
    <body>
    <span>我是span</span>
    
    </body>
    

    3、文字属性

    就不一一叙述了,直接用代码展示,具体属性都写在代码里

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            /* 1、文字对齐方式:text-align属性规定水平对齐方式
            left	左边对齐 默认值
            right	右对齐
            center	居中对齐
            justify	两端对齐
            */
            div{
                 100px;
                background-color: yellow;
                text-align: center;
            }
            /* 2、文字装饰方式:text-decoration属性来给文字添加特殊效果
            none	默认。定义标准的文本。
            underline	定义文本下的一条线。
            overline	定义文本上的一条线。
            line-through	定义穿过文本下的一条线。
            inherit	继承父元素的text-decoration属性的值。
            */
            div{
                 100px;
                background-color: yellow;
                text-align: center;
                text-decoration: underline;
            }
            /* 3、去除列表标题前的符号样式:list-style属性*/
            li{
                list-style: none;
            }
            /* 4、首行缩进:text-indent属性来将段落的第一行缩进*/
            p{text-indent: 32px}
            /* 5、文字之间的距离: letter-spacing属性*/
            span{letter-spacing: 5px}
            /* 6、行高:line-height属性*/
            div{
                 400px;
                height: 200px;
                text-align: center;
                line-height: 200px;
                /*行高跟div高度一样就变成垂直居中*/
            }
        </style>
    </head>
    <body>
    <div>我是文字</div>
    <a></a>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
    <p>阳光明媚的一天</p>
    <span>今天心情格外好</span>
    
    </body>
    </html>
    

    4、背景属性

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div{
                 1070px;
                height: 300px;
                color: yellow;
                
                /* 1、背景颜色:backgronud-color属性*/
                background-color: black;
    
                /* 2、背景图片:background-image: url("图片名")*/
                background-image:url("猴.jpg");
    
                /* 3、图片平铺方式:background-repeat属性
                repeat(默认):背景图片平铺排满整个网页
                repeat-x:背景图片只在水平方向上平铺
                repeat-y:背景图片只在垂直方向上平铺
                no-repeat:背景图片不平铺
                */
                background-repeat: repeat-x;
    
                /* 4、背景位置:background-position属性
                background-position: left top;  图片放在左边最上方
                background-position: 200px 200px; 只能控制左和上
                */
                background-position: left top;
            }
        </style>
    </head>
    <body>
    <div>齐天大圣</div>
    
    </body>
    </html>
    

    5、边框:border

    边框属性

    • border-width
    • border-style
    • border-color

    i1 { border- 2px; border-style: solid; border-color: red; }

    通常使用简写方式:

    i1 { border: 2px solid red; }

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            /*边框样式
            none	无边框。
            dotted	点状虚线边框。
            dashed	矩形虚线边框。
            solid	实线边框。
            */
            div{
                height: 100px;
                 100px;
                /*     颜色 边框实线 粗细*/
                border: green solid 3px;
                /*圆角边框:border-radius属性,设置50%就是圆形*/
                border-radius: 10px;
            }
        </style>
    </head>
    <body>
    <div></div>
    
    </body>
    </html>
    

    6、display属性

    display属性用于控制HTML元素的显示效果

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div{
                /*none:设置消失,HTML文档中元素存在,但是在浏览器中不显示*/
                /*display: none;*/
                
                /*inline:将块级标签变为行内标签*/
                display: inline;
            }
            span{
                /*block:将行内标签变为块级标签*/
                display: block;
            }
            .a{
                 100px;
                height: 100px;
                background-color: red;
                /*inline-block:使元素同时具有行内元素和块级元素的特点。*/
                display: inline-block;
            }
        </style>
    </head>
    <body>
    <div>齐天大圣</div>
    <span>六耳猕猴</span>
    <span class="a">通臂猿猴</span>
    <div>泼猴</div>
    
    </body>
    </html>
    

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

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

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

    7、盒子模型

    • margin(外边距): 用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。
    • padding(内填充): 用于控制内容与边框之间的距离;
    • Border(边框): 围绕在内边距和内容外的边框。
    • Content(内容): 盒子的内容,显示文本和图像。

    7.1 盒子模型之 margin

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .a{
                 400px;
                height: 400px;
                border: black 1px solid;
                /* 设置边框下面的距离*/
                margin-bottom: 20px;
                margin-left: 40px;
                /*推荐使用简写,按照顺时针一起设置:上,右,下,左*/
                /*margin:30,0,20,40;*/
    
                /*常见居中*/
                /*margin: 0 auto;*/
            }
            .b{
                 300px;
                height: 300px;
                border: red 1px solid;
            }
        </style>
    </head>
    <body>
    <div class="a">123</div>
    <div class="b">456</div>
    
    </body>
    </html>
    

    7.2 盒子模型之 padding

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div{
                 400px;
                height: 400px;
                border: pink solid 2px;
                /*元素内容123距离左边框30像素*/
                padding-left: 30px;
                /*元素内容123距离上边框100像素*/
                padding-top: 100px;
            }
        </style>
    </head>
    <body>
    <div>123</div>
    
    </body>
    </html>
    

    推荐使用简写:

    div{ padding: 5px 10px 15px 20px;}

    补充padding的常用简写方式:

    • 提供一个值,用于四边;
    • 提供两个值,第一个用于上-下,第二个用于左-右;
    • 如果提供三个值,第一个用于上,第二个用于左-右,第三个用于下;
    • 提供四个参数值,将按上-右-下-左的顺序作用于四边;

    8、float 浮动属性

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

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

    关于浮动的两个特点:

    • 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
    • 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            /* float属性值:
    		 left:向左浮动
              right:向右浮动
              none:默认值,不浮动*/
            .a,.b,.c{
                 500px;
                height: 200px;
            }
            .a{
                background-color: red;
                float: left;
            }
            .b{
                background-color: pink;
                float: right;
            }
            .c{
                background-color: yellow;
                float: right;
            }
            .p{
                border: yellow 2px dotted;
            }
            /*清除浮动,解决塌陷问题*/
            .clear:after{
                content: "";
                display: block;
                /*clear属性规定元素的哪一侧不允许其他浮动元素,只会对自身起作用,而不会影响其他元素.
                left	在左侧不允许浮动元素。
                right	在右侧不允许浮动元素。
                both	在左右两侧均不允许浮动元素。
                none	默认值。允许浮动元素出现在两侧。
                */
                clear: both;
            }
        </style>
    </head>
    <body>
    <div class="p clear">
        <div class="a">123</div>
        <div class="b"></div>
        <div class="c"></div>
    </div>
    
    </body>
    </html>
    

    9、overflow 溢出属性

    属性值:

    描述
    visible 默认值。内容不会被修剪,会呈现在元素框之外。
    hidden 内容会被修剪,并且其余内容是不可见的。
    scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
    auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
    inherit 规定应该从父元素继承 overflow 属性的值。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div{
                 200px;
                height: 200px;
                border: yellow solid 3px;
                overflow: hidden;
            }
            img{
                /*图片本身超出了div边框的宽高,下面的设置就是把图片宽高缩小到200px,
                使其能够完整显示,不然上面的溢出属性是hidden,会把超出div边框的图片剪掉*/
                max- 200px;
                min-height: 200px;
            }
        </style>
    </head>
    <body>
    <div>
        <img src="猴.jpg" alt="">
    </div>
    </body>
    </html>
    

    10、position 定位属性

    属性值:relative(相对定位)、absolute(绝对定位)、fixed(固定定位)

    10.1 relative(相对定位)

    相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。有趣的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。

    注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。eg:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                margin: 0;
                padding: 0;
            }
            div{
                 200px;
                height: 200px;
                background-color: yellow;
                position: relative;
                /*相对原始位置,距离上边20px,距离左边40px移动*/
                top: 20px;
                left: 40px;
            }
        </style>
    </head>
    <body>
    <div></div>
    
    </body>
    </html>
    

    10.2 absolute(绝对定位)

    定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

    重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolute;父元素设置position:relative;,然后Top、Right、Bottom、Left用百分比宽度表示。

    另外,对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。

    eg:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            *{
                margin: 0;}
            .a{
                 400px;
                height: 400px;
                background-color: black;
                float: left;
            }
            .b{
                 400px;
                height: 400px;
                background-color: pink;
                position: relative;
                float: right;
            }
            .c{
                 200px;
                height: 200px;
                background-color: yellow;
                position: absolute;
                /*相对父级b来移动,top值为400px,就是距离b最上边400px,也就是变为了紧挨着b的最下边,
                原来所占的空间会关闭掉*/
                top: 400px;
                left: 30px;
            }
        </style>
    </head>
    <body>
    <div class="a"></div>
    <div class="b">
        <div class="c"></div>
    </div>
    
    </body>
    </html>
    

    10.3 fixed(固定定位)

    fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。

    注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。

    在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。

    eg:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .a{
                height: 1800px;
                background-color: purple;
            }
            .b{
                 50px;
                height: 50px;
                background-color: green;
                position: fixed;
                bottom: 100px;
                right: 100px;
            }
        </style>
    </head>
    <body>
    <div class="a">
        <div class="b">固定定位</div>
    </div>
    </body>
    </html>
    

    10.4 定位是否脱离文档流

    脱离文档流:绝对定位、固定定位

    不脱离文档流:相对定位

    11、z-index 属性、opacity属性和模态框

    1、z-index属性用来设置对象的层叠顺序

    div{ z-index: 999; }

    1. z-index 值表示谁压着谁,数值大的压盖住数值小的,
    2. 只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
    3. z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
    4. 从父现象:父亲怂了,儿子再牛逼也没用。

    2、opacity属性用来定义透明效果

    取值范围值0.0~1.0,0是完全透明,1是完全不透明。与color:rgba(255,0,0,0.3)的第四个值一样作用

    模态框eg:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>模态框</title>
        <style>
            .down{
                position: fixed;
                /*opacity: 0.7;*/
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                background-color: rgba(255,192,203,0.7);
                z-index: 180;
            }
            .up{
                position: fixed;
                 200px;
                height: 200px;
                background-color: blue;
                z-index: 188;
                /*下面三行代码就可以让up元素压盖在down元素正中间*/
                top: 50%;
                left: 50%;
                margin: -100px 0 0 -100px;
            }
        </style>
    </head>
    <body>
    <div class="down">Java</div>
    <div class="up">Python</div>
    
    </body>
    </html>
    
  • 相关阅读:
    重构代码
    我的菜单在母版页,如何更改菜单点击后的效果
    ASP.NET网页显示LED字体
    点击一次铵钮产生一个新文本框,分别输入值,然后获取
    linux不同信号之间发送信号测试
    UCOSII移植ARM的笔记
    C语言 return返回值的作用
    C语言 return没有返回值.
    linux c语言链表的简单应用之创建链表
    sizeof与strlen的用法
  • 原文地址:https://www.cnblogs.com/zhuangyl23/p/11663624.html
Copyright © 2020-2023  润新知