• 前端学习之路之CSS (四)


     Infi-chu:

    http://www.cnblogs.com/Infi-chu/

    CSS盒子模型
        概念:CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。
        如下所示:
        
        不同部分的说明:
            Margin(外边距) - 清除边框外的区域,外边距是透明的。
            Border(边框) - 围绕在内边距和内容外的边框。
            Padding(内边距) - 清除内容周围的区域,内边距是透明的。
            Content(内容) - 盒子的内容,显示文本和图像。

        元素的宽度和高度:
            例子:300px (宽)+ 50px (左 + 右填充)+ 50px (左 + 右边框)+ 50px (左 + 右边距)= 450px
            总结:
                最终元素的总宽度计算公式是这样的:总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距
                元素的总高度最终计算公式是这样的:总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距
        
    CSS边框:
        边框样式:
            border-style属性用来定义边框的样式。
            常用的值:
                none: 默认无边框
                dotted: 定义一个点线边框
                dashed: 定义一个虚线边框
                solid: 定义实线边框
                double: 定义两个边框。 两个边框的宽度和 border-width 的值相同
                groove: 定义3D沟槽边框。效果取决于边框的颜色值
                ridge: 定义3D脊边框。效果取决于边框的颜色值
                inset:定义一个3D的嵌入边框。效果取决于边框的颜色值
                outset: 定义一个3D突出边框。 效果取决于边框的颜色值
                
        边框宽度:
            通过 border-width 属性为边框指定宽度。
            为边框指定宽度有两种方法:
                可以指定长度值,比如 2px 或 0.1em(单位为 px, pt, cm, em 等);
                或者使用 3 个关键字之一,它们分别是 thick 、medium(默认值) 和 thin。
            注:CSS 没有定义 3 个关键字的具体宽度,所以一个用户可能把 thick 、medium 和 thin 分别设置为等于 5px、3px 和 2px,而另一个用户则分别设置为 3px、2px 和 1px。    
            

            p.one
            {
                border-style:solid;
                border-5px;
            }
            p.two
            {
                border-style:solid;
                border-medium;
            }
    


        
        边框颜色:
            border-color属性用于设置边框的颜色。可以设置的颜色:
                name - 指定颜色的名称,如 "red"
                RGB - 指定 RGB 值, 如 "rgb(255,0,0)"
                Hex - 指定16进制值, 如 "#ff0000"
            注: border-color单独使用是不起作用的,必须得先使用border-style来设置边框样式。
                

            p.one
            {
                border-style:solid;
                border-color:red;
            }
            p.two
            {
                border-style:solid;
                border-color:#98bf21;
            }
    


            
        单独设置各个边:
        border-style属性可以有1-4个值:
            border-style:dotted solid double dashed;
                上边框是 dotted
                右边框是 solid
                底边框是 double
                左边框是 dashed

            border-style:dotted solid double;
                上边框是 dotted
                左、右边框是 solid
                底边框是 double

            border-style:dotted solid;
                上、底边框是 dotted
                右、左边框是 solid

            border-style:dotted;
                四面边框是 dotted
        
        常用边框属性:
            border     简写属性,用于把针对四个边的属性设置在一个声明。
            border-style     用于设置元素所有边框的样式,或者单独地为各边设置边框样式。
            border-width     简写属性,用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度。
            border-color     简写属性,设置元素的所有边框中可见部分的颜色,或为 4 个边分别设置颜色。
            border-bottom     简写属性,用于把下边框的所有属性设置到一个声明中。
            border-bottom-color     设置元素的下边框的颜色。
            border-bottom-style     设置元素的下边框的样式。
            border-bottom-width     设置元素的下边框的宽度。
            border-left     简写属性,用于把左边框的所有属性设置到一个声明中。
            border-left-color     设置元素的左边框的颜色。
            border-left-style     设置元素的左边框的样式。
            border-left-width     设置元素的左边框的宽度。
            border-right     简写属性,用于把右边框的所有属性设置到一个声明中。
            border-right-color     设置元素的右边框的颜色。
            border-right-style     设置元素的右边框的样式。
            border-right-width     设置元素的右边框的宽度。
            border-top     简写属性,用于把上边框的所有属性设置到一个声明中。
            border-top-color     设置元素的上边框的颜色。
            border-top-style     设置元素的上边框的样式。
            border-top-width     设置元素的上边框的宽度。
            
    CSS轮廓:
        CSS轮廓:
            轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用;CSS outline 属性规定元素轮廓的样式、颜色和宽度。
            如图所示:
        
        所有属性:
            属性                             说明                                             值                                         CSS
            outline             在一个声明中设置所有的轮廓属性     outline-color、outline-style、outline-width、inherit                 2
            outline-color             设置轮廓的颜色                 color-name、hex-number、rgb-number、invert、inherit                     2
            outline-style             设置轮廓的样式         none、dotted、dashed、solid、double、groove、ridge、inset、outset、inherit     2
            outline-width             设置轮廓的宽度                 thin、medium、thick、length、inherit                                 2
            
    CSS外边距:
        margin:
            margin 清除周围的(外边框)元素区域。margin 没有背景颜色,是完全透明的;margin 可以单独改变元素的上,下,左,右边距,也可以一次改变所有的属性。
            如图所示:
        
            可以输入的值:
                值             说明
                auto     设置浏览器边距,这样做的结果会依赖于浏览器
                length     定义一个固定的margin(使用像素,pt,em等)
                %         定义一个使用百分比的边距
        
        单边 外边距属性:
            margin-top:100px;
            margin-bottom:100px;
            margin-right:50px;
            margin-left:50px;
        
        简写:
            margin:25px 50px 75px 100px;
                上边距为25px
                右边距为50px
                下边距为75px
                左边距为100px

            margin:25px 50px 75px;
                上边距为25px
                左右边距为50px
                下边距为75px

            margin:25px 50px;
                上下边距为25px
                左右边距为50px

            margin:25px;
                所有的4个边距都是25px
                
    CSS填充:
        Padding:
            当元素的 padding(填充)内边距被清除时,所释放的区域将会受到元素背景颜色的填充;单独使用 padding 属性可以改变上下左右的填充。
            如图所示:
        
            可以输入的值:
                值             说明
                length         定义一个固定的填充(像素, pt, em,等)
                %             使用百分比值定义一个填充
        
        填充 单边内边距:
            padding-top:25px;
            padding-bottom:25px;
            padding-right:50px;
            padding-left:50px;
            
        简写:
            padding:25px 50px 75px 100px;
                上填充为25px
                右填充为50px
                下填充为75px
                左填充为100px

            padding:25px 50px 75px;
                上填充为25px
                左右填充为50px
                下填充为75px

            padding:25px 50px;
                上下填充为25px
                左右填充为50px

            padding:25px;
                所有的填充都是25px

    CSS分组和嵌套:
        分组选择器:
            在样式表中有很多具有相同样式的元素;为了尽量减少代码,你可以使用分组选择器;每个选择器用逗号分隔。

            
            h1,h2,p
            {
                color:green;
            }
    


        
        嵌套选择器:
            它可能适用于选择器内部的选择器的样式。

            
            /*
            p{ }: 为所有 p 元素指定一个样式。
            .marked{ }: 为所有 class="marked" 的元素指定一个样式。
            .marked p{ }: 为所有 class="marked" 元素内的 p 元素指定一个样式。
            p.marked{ }: 为所有 class="marked" 的 p 元素指定一个样式。
            */
            p
            {
                color:blue;
                text-align:center;
            }
            .marked
            {
                background-color:red;
            }
            .marked p
            {
                color:white;
            }
            p.marked{
                text-decoration:underline;
            }
    



    CSS尺寸:
        常用属性:
            属性                 描述
            height             设置元素的高度。
            line-height     设置行高。
            max-height         设置元素的最大高度。
            max-width         设置元素的最大宽度。
            min-height         设置元素的最小高度。
            min-width         设置元素的最小宽度。
            width             设置元素的宽度。

    CSS Display(显示) 与 Visibility(可见性):
        隐藏元素 - display:none或visibility:hidden:
            隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden"。但是请注意,这两种方法会产生不同的结果;visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
            display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。
            
            h1.hidden {visibility:hidden;}
            h1.hidden {display:none;}
            
        CSS Display - 块和内联元素:
            块元素是一个元素,占用了全部宽度,在前后都是换行符。
            块元素的例子:
                <h1>
                <p>
                <div>
            内联元素只需要必要的宽度,不强制换行。
            内联元素的例子:
                <span>
                <a>

        如何改变一个元素显示:
            可以更改内联元素和块元素:
                把列表项显示为内联元素:
                li {display:inline;}
                
                把span元素作为块元素:
                span {display:block;}
                
    CSS定位:
        五大属性:static、relative、fixed、absolute、sticky
        
        static定位:
            HTML元素的默认值,即没有定位,元素出现在正常的流中;静态定位的元素不会受到 top, bottom, left, right影响。    

            div.static {
                position: static;
                border: 3px solid #73AD21;
            }
    


            
        fixed定位:
            元素的位置相对于浏览器窗口是固定位置;即使窗口是滚动的它也不会移动    
          

     p.pos_fixed
            {
                position:fixed;
                top:30px;
                right:5px;
            }
    


            注:Fixed 定位在 IE7 和 IE8 下需要描述 !DOCTYPE 才能支持;Fixed定位使元素的位置与文档流无关,因此不占据空间;Fixed定位的元素和其他元素重叠。
            
        relative 定位:
            相对定位元素的定位是相对其正常位置。

            h2.pos_left
            {
                position:relative;
                left:-20px;
            }
            h2.pos_right
            {
                position:relative;
                left:20px;
            }
    



        absolute 定位:
            绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>:

    h2{
                position:absolute;
                left:100px;
                top:150px;
            }
    


        注:absolute 定位使元素的位置与文档流无关,因此不占据空间;absolute 定位的元素和其他元素重叠。
        
        sticky 定位
            position: sticky; 基于用户的滚动位置来定位;粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换;它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;它会固定在目标位置;元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位;这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。
           

    div.sticky {
                position: -webkit-sticky; /* Safari */
                position: sticky;
                top: 0;
                background-color: green;
                border: 2px solid #4CAF50;
            }
    


        
        重叠的元素:
            元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素;z-index属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面);一个元素可以有正数或负数的堆叠顺序
        
    CSS Overflow:
        CSS overflow 属性可以控制内容溢出元素框时在对应的元素区间内添加滚动条。
        
        属性:
                值             描述
            visible     默认值。内容不会被修剪,会呈现在元素框之外。
            hidden         内容会被修剪,并且其余内容是不可见的。
            scroll         内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
            auto         如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
            inherit     规定应该从父元素继承 overflow 属性的值。
            
    CSS浮动:
        什么是浮动:
            CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。Float(浮动),往往是用于图像,但它在布局时一样非常有用。

        .eg
        {
            float:left;
            110px;
            height:90px;
            margin:5px;
        }
    





  • 相关阅读:
    Android 一般动画animation和属性动画animator
    Android的SQLite基本操作
    android 支持发送空短信
    android 小音频频繁播放
    大数据测试之hadoop集群配置和测试
    老李分享:接口测试之jmeter
    大数据测试之hadoop命令大全
    老李分享:持续集成学好jenkins之内置命令
    老李分享:持续集成学好jenkins之安装
    老李分享:持续集成学好jenkins之解答疑问
  • 原文地址:https://www.cnblogs.com/Infi-chu/p/9759357.html
Copyright © 2020-2023  润新知