• css 盒模型的概念与使用


    一,盒模型的概念

    在CSS中,"box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子。我们称为这种盒子叫盒模型。

    盒模型有两种:标准模型和IE模型。我们在这里重点讲标准模型。

    二,盒模型的属性

    width:			 # 内容的宽度
    
    height: 		  # 内容的高度
    
    padding:		  # 内边距,边框到内容的距离
    
    border: 		  # 边框,就是指的盒子的宽度
    
    margin:			 # 外边距,盒子边框到附近最近盒子的距离
    
    

    如果让你做一个宽高402*402的盒子,您如何来设计呢?

    答案有上万种,甚至上一种。

    三,盒模型的计算

    如果一个盒子设置了padding,border,width,height,margin(咱们先不要设置margin,margin有坑,后面课程会讲解)

    盒子的真实宽度=width+2padding+2border

    盒子的真实高度=height+2padding+2border

    那么在这里要注意看了。标准盒模型,width不等于盒子真实的宽度。

    另外如果要保持盒子真实的宽度,那么加padding就一定要减width,减padding就一定要加width。真实高度一样设置。

    1)padding 内边距说明

    padding:就是内边距的意思,它是边框到内容之间的距离

    另外padding的区域是有背景颜色的。并且背景颜色和内容的颜色一样。也就是说background-color这个属性将填充所有的border以内的区域

    2)padding 的设置

    padding有四个方向,分别描述4个方向的padding。

    描述的方法有两种

    1、写小属性,分别设置不同方向的padding

    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
    

    2、写综合属性,用空格隔开

    /*
    上 右 下 左
    */
    
    padding: 20px 30px 40px 50px ;
    
    /*
    上 左右  下
    */
    
    padding: 20px 30px 40px;
    
    /*
     上下 左右
    */
    
    padding: 20px 30px;
    
    /*
    上下左右
    */
    padding: 20px;
    
    3) 一些标签默认有padding

    比如ul标签,有默认的padding-left值。

    那么我们一般在做站的时候,是要清除页面标签中默认的padding和margin。以便于我们更好的去调整元素的位置。

    我们现在初学可以使用通配符选择器

    * {
    	padding: 0;
         margin: 0;
    }
    

    But,这种方法效率不高。

    所以我们要使用并集选择器来选中页面中应有的标签(不同背,因为有人已经给咱们写好了这些清除默认的样式表,reset.css)

    四, 清除默认的样式表reset.css

    /* http://meyerweb.com/eric/tools/css/reset/
       v2.0 | 20110126
       License: none (public domain)
    */
    
    html, body, div, span, applet, object, iframe,
    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
    a, abbr, acronym, address, big, cite, code,
    del, dfn, em, img, ins, kbd, q, s, samp,
    small, strike, strong, sub, sup, tt, var,
    b, u, i, center,
    dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    table, caption, tbody, tfoot, thead, tr, th, td,
    article, aside, canvas, details, embed,
    figure, figcaption, footer, header, hgroup,
    menu, nav, output, ruby, section, summary,
    time, mark, audio, video {
    	margin: 0;
    	padding: 0;
    	border: 0;
    	font-size: 100%;
    	font: inherit;
    	vertical-align: baseline;
    }
    /* HTML5 display-role reset for older browsers */
    article, aside, details, figcaption, figure,
    footer, header, hgroup, menu, nav, section {
    	display: block;
    }
    body {
    	line-height: 1;
    }
    ol, ul {
    	list-style: none;
    }
    blockquote, q {
    	quotes: none;
    }
    blockquote:before, blockquote:after,
    q:before, q:after {
    	content: '';
    	content: none;
    }
    table {
    	border-collapse: collapse;
    	border-spacing: 0;
    }
    
    a{
    	text-decoration: none;
    }
    

    五,border 边框

    border:边框的意思,描述盒子的边框

    边框有三个要素: 粗细 线性样式 颜色

    border: solid
    

    如果颜色不写,默认是黑色。如果粗细不写,不显示边框。如果只写线性样式,默认的有上下左右 3px的宽度,实体样式,并且黑色的边框。

    1) 按照3要素来写border
    border- 3px;     /*边框宽度*/
    border-style: solid;   /*边框样式*/
    border-color: red;     /*边框颜色*/
    
    /*
    
    border- 5px 10px;
    border-style: solid dotted double dashed;
    border-color: red green yellow;
    
    */
    
    2) 按照方向划分
    border-top- 10px;
    border-top-color: red;
    border-top-style: solid;
    
    border-right- 10px;
    border-right-color: red;
    border-right-style: solid;
    
    border-bottom- 10px;
    border-bottom-color: red;
    border-bottom-style: solid;
    
    border-left- 10px;
    border-left-color: red;
    border-left-style:solid;
    

    上面12条语句,相当于 bordr: 10px solid red;

    另外还可以这样:

    border-top: 10px solid red;
    border-right: 10px solid red;
    border-bottom: 10px solid red;
    border-left: 10px solid red;
    
    3) 清除边框的默认样式,比如input输入框
     border:none;
     border:0;
    
    4) 使用border来制作小三角
    /*小三角 箭头指向下方*/
            div{
                 0;
                height: 0;
                border-bottom: 20px solid red;
                border-left: 20px solid transparent;
                border-right: 20px solid transparent;
            }
    

    六,margin 外边距

    margin:外边距的意思。表示边框到最近盒子的距离。(兄弟之间)

    /*表示四个方向的外边距离为20px*/
    margin: 20px;
    /*表示盒子向下移动了30px*/
    margin-top: 30px;
    /*表示盒子向右移动了50px*/
    margin-left: 50px;
    margin-bottom: 100px;
    
  • 相关阅读:
    zookeeper集群搭建2.7
    hadoop集群环境搭建
    Kettle(6.0) 参数方式连接数据库
    kettle数据同步的5中方案
    kettle 合并记录步骤中的 关键字段和 比较字段的说明
    KETTLE常见问题和优化
    Hbase与Oracle的比较
    EHCache
    hdu2014 青年歌手大奖赛_评委会打分【C++】
    hdu2013 蟠桃记【C++】
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/14699905.html
Copyright © 2020-2023  润新知