zoukankan      html  css  js  c++  java
  • 前端之CSS(下)

    文本属性

    ## 文字对齐
    #text-align属性规定元素中文本的水平对齐方式
    
    left: 左边对齐 默认值
    right: 右对齐 
    center: 居中对齐
    justify: 两端对齐
     
    
    ## 文字装饰
    #text-decoration属性用来给文字添加特殊效果
    none:默认,定义标准的文本
    underline: 定义文本下的一条线
    overline: 定义文本上的一条线
    line-through: 穿过文本的一条线
    inherit: 继承父元素的text-decoration属性的值
    
    
    

    背景属性

    #背景颜色
    background-color: red;
    
    #背景图片
    background-image: usl('1.jpg');
    
    #背景重复
    repeat(默认):背景图片平铺排满整个网页
    repeat-x: 背景图片只在水平方向上平铺
    repeat-y: 在垂直方向上平铺
    no-repeat: 背景图片不平铺
    
    background-repeat: no-repeat/left top; #背景位置  
    
    # 支持简写
    background: #336699 url('1.png') no-repeat left top;
       
    
    

    边框

    #边框属性
    border-width
    border-style
    border-color
    
    #边框样式
    none: 无边框
    dotted: 点状虚线边框
    dashed: 矩形虚线边框
    solid: 实线边框
    
    #一般是简写方式: #i1{border: 2px solid red;}
    
    #除了可以统一设置边框外还可以单独为某一个边框设置样式,如下所示:
    
    #i1 { border-top-style:dotted; border-top-color: red; border-right-style:solid; border-bottom-style:dotted; border-left-style:none; }
    
    

    border-radius

    用这个属性能实现圆角边框的效果。
    将border-radius设置为长或高的一半即可得到一个圆形。
    

    display属性

    用于控制HTML元素的显示效果
    
    display:"none": HTML文档中存在,但是在浏览器中不显示,一般用于配合Javascript代码使用。
    
    
    "block": 默认占满整个页面宽度,如果设置了指定宽度,则会用margin填充剩下的部分
    
    "inline": 按行内元素显示,此时在设置元素的width、height、margin-top、margin-bottom和float属性都不会有什么影响
    
    "inline-block": 使元素同时具有行内元素和块级元素的特点
    
    ##display:"none" 与visibility:hidden的区别
    后者可以隐藏某个元素,但隐藏的元素仍然需要占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但是仍然会影响布局
    
    前者可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失
    

    CSS盒子模型

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

    margin外边框

    #推荐使用简写
    .margin-test{margin: 5px 10px 15px 20px;}
    
    顺序:上右下左
    
    #常见居中
    .mycenter{margin: 0 auto;}
    
    

    padding内填充

    #推荐使用简写
    .padding-test{padding: 5px 10px 15px 20px;}
    
    顺序:上右下左
    补充padding的常用简写方式:
    	
        提供一个,用于四边;
        提供两个,第一个用于上-下, 第二个用于左-右;
        提供四个参数值,将按上-右-下-左的顺序作用于四边;
    

    float

    在CSS中,任何元素都可以浮动。
    
    浮动元素会生成一个块级框,而不论本身是何种元素。
    
    关于浮动的两个特点:
    	
        浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
        由于浮动框不在文档的普通流中,所以文档的普通流的块框表现得就像浮动框不存在一样。
        
    三种取值:
    
    left: 向左浮动
    
    right: 向右浮动
    
    none: 默认值,不浮动
    

    什么是文档的普通流

    clear

    ## clear属性规定元素的哪一侧不允许其他浮动元素。
    
    left: 在左侧不允许浮动元素。
    
    right: 在右侧不允许浮动元素。
    
    both: 在左右两侧均不允许浮动元素。
    
    none: 默认值。允许浮动元素出现在两侧。
    
    ## 注意:clear属性只会对自身起作用,而不会影响其他元素。
    
    ## 清除浮动
    
    #塌陷:父标签下的子标签都是浮动的元素,且父标签没设置宽高,也没有元素,这个时候如果清除浮动,就会导致父标签塌陷的问题。
    
    #代码:
    
    .b1,.b2,.b3{
                 250px;
                height: 250px;
            }
            .b1{
                /*b1浮动到右边*/
                background-color: red;
                float: right;
                /*content: '';*/
                /*display: block;*/
                /*clear: both;*/
            }
            .b2{
                /*b2也往右浮动,不过紧挨着b1*/
                background-color: blueviolet;
                float: left;
            }
            .b3{
                background-color: cadetblue;
                float: right;
            }
    
            .a{
                border: gold solid 10px;
            }
            .clear{
                clear: both;
            }
            
    <div class="a clear">
        <div class="b1">这是b1类</div>
        <div class="b2">这是b2类</div>
        <div class="b3">这是b3类</div>
    </div>
    
    
    
    
    
    清除浮动的副作用(父标签塌陷问题)
    
    主要有三种方式:
    	固定高度
    	伪元素清除法
    	overflow:hidden
    
    # 伪元素清除法(使用较多)
    .clearfix:after{content: ""; display: block; clear: both;}
    

    overflow溢出属性

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

    定位

        static: 默认值,无定位,不能当做绝对定位的参照物,并且设置标签对象的left、top等值是不起作用的。
        
        relative(相对定位): 相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。有趣的是,即使设定了元素的相对定位及偏移值,元素还占着原来的位置,即占据文档流空间。对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。
        	
        	注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。
        	
        absolute(绝对定位): 设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
        	
        	重点:如果父级设置了position属性,例如position: relative;, 那么子元素就会以父级的左上角为原始点进行定位。这样就能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolution; 父元素设置position:relative; 然后Top、Right、Bottom、Left用百分比宽度表示。
        	
        	另外,对象脱离正常文档流,使用top、right、bottom、left等属性进行绝对定位。而其层叠通过z-index属性定义。
        
        
        fixed(固定):对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。    
        注意点:一个元素若设置了position:absolute|fixed;则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是“定位流”。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。
    

    z-index

    #i2 {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.从父现象:父亲怂了,儿子再牛逼也没用。
    

    opacity

    用来定义透明效果。取值范围是0~1, 0完全透明,1是完全不透明。
    

    完整代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            /*文字对齐方式*/
            #a1{
                 20px;
                background: blueviolet;
                text-align: center;
            }
            
            /*文字装饰*/
            #a2{
                 200px;
                height: 200px;
                /*background: yellowgreen;*/
                text-decoration: underline;
                /*text-decoration: overline;*/
                /*text-decoration: line-through;*/
    
                /*背景属性*/
                /*background-image: url("eyeprotect.jpg");*/
                /*background-repeat: repeat;*/
                /*background-position: 100px 200px;*/
    
                /*简写*/
                background: #2b99ff url("eyeprotect.jpg") no-repeat right top;
    
            }
            a{
                text-decoration: none;
            }
            li{
                list-style: square;
            }
    
            /*缩进与字间距*/
            p,#a1 {
                /*缩进*/
                text-indent: 32px;
                /*字间距*/
                letter-spacing: 1px;
            }
            
            #a3{
                height: 100px;
                 100px;
    
                /*边框属性和样式*/
                /*简写*/
                border: orange solid 3px;
                /*实现圆角,50%就是圆形*/
                border-radius: 50%;
                /*只在上部分加点状虚线边框*/
                border-top-style:dotted;
            }
            
            span{
                 200px;
                height: 100px;
                background-color: cadetblue;
                display: inline-block;
    
                /*visibility: hidden;*/
            }
            .a4>.a41{
                 100px;
                height: 200px;
                border: black 2px solid;
                margin: 10px ;
                padding: 20px;
            }
            .a4{
                /*常见居中*/
                margin: 0 auto;
            }
            .b1,.b2,.b3{
                 250px;
                height: 250px;
            }
            .b1{
                /*b1浮动到右边*/
                background-color: red;
                float: right;
                /*content: '';*/
                /*display: block;*/
                /*clear: both;*/
            }
            .b2{
                /*b2也往右浮动,不过紧挨着b1*/
                background-color: blueviolet;
                float: left;
            }
            .b3{
                background-color: cadetblue;
                float: right;
            }
    
            .a{
                border: gold solid 10px;
            }
    
            /*解决浮动清除导致的塌陷问题*/
            /*.clear:after{*/
                /*content: "";*/
                /*display: block;*/
                /*clear: both;*/
            /*}*/
    
            .picture{
                 200px;
                height: 200px;
                border: gold solid 10px;
                overflow: hidden;
                border-radius: 50%;
            }
            img{
                max- 200px;
                min-height: 200px;
            }
            .rock{
                height: 180px;
                 180px;
                background-color: yellow;
            }
    
            /*不会随着滚动条滚动,位置固定*/
            .rock1{
                height: 50px;
                 50px;
                background-color: green;
                position: fixed;
                bottom: 10px;
                right: 10px;
            }
    
            /*位置相对div块而言,滚动条移动,会随着移动*/
            .rock2{
                 200px;
                height: 200px;
                background-color: gold;
                position: relative;
                top:20px;
                left: 40px;
            }
    
            /*位置绝对页面左上角,滚动条移动,会随着移动*/
            .rock3{
                 200px;
                height: 200px;
                background-color: red;
                position: absolute;
                top: 400px;
                left: 30px;
            }
    
            /*模态框的背景图,位置固定,z-index与模态框相差至少1,*/
            .bj{
                position: fixed;
                /*opacity:0.4;*/
                top:0;
                bottom: 0;
                left: 0;
                right: 0;
    
                background-color: rgba(255,192,203,0.4);
                z-index:200;
            }
    
            /*模态框设置*/
            .mt{
                position: fixed;
                 200px;
                height: 200px;
                background-color: #8be6ff;
                z-index:201;
                top:50%;
                left: 50%;
                margin: -100px 0 0 -100px;
            }
    
        </style>
    </head>
    <body>
    <div id="a1">hello everyone</div>
    <a href="">welcome to china</a>
    <ul>
        <li>123</li>
        <li>234</li>
        <li>345</li>
    </ul>
    <p>This is my house</p>
    <div id="a2">Welcome to the Universal</div>
    <span>这是第一个</span>
    <span>这是第二个</span>
    <div id="a3">Where amazing happenes?</div>
    <div class="a4">
        Python
        <div class="a41">
            Excellent
        </div>
    </div>
    <div class="a clear">
        <div class="b1">这是b1类</div>
        <div class="b2">这是b2类</div>
        <div class="b3">这是b3类</div>
    </div>
    
    <div class="picture">
        <img src="highdefinition.jpg" alt="">
    </div>
    
    <div class="rock">固定定位</div>
    <div class="rock1">点我固定</div>
    <div class="rock2">点我相对</div>
    <div class="rock3">点我绝对</div>
    <div class="bj">模态框背景</div>
    <div class="mt">模态框</div>
    
    </body>
    </html>
    
  • 相关阅读:
    PS:图像的编辑(三)修复画笔工具
    如何知道自己电脑连接的无线网密码
    ps里“栅格化图层”有啥作用
    如何解决 ERROR Code 1101报错
    Oracle中SCOTT用户的 emp、dept、bonus、salgrade表的属性和结构
    PSCC2019以上版本如何取消等比裁剪
    distinct 多列详解
    银行取款、查询余额、交电话费功能
    银行卡系统,输入密码取钱功能
    根据周长计算不同形状图形的面积
  • 原文地址:https://www.cnblogs.com/michealjy/p/11664264.html
Copyright © 2011-2022 走看看