CSS——NO.6(盒模型)

*/
 * Copyright (c) 2016,烟台大学计算机与控制工程学院
 * All rights reserved.
 * 文件名:text.cpp
 * 做者:常轩
 * 微信公众号:Worldhello
 * 完成日期:2016年8月9日
 * 版本号:V1.0
 * 程序输入:无
 * 程序输出:见运行结果
 */


元素分类

在讲解CSS布局以前,咱们须要提早知道一些知识,在CSS中,html中的标签元素大致被分为三种不一样的类型:块状元素内联元素(又叫行内元素)内联块状元素css

经常使用的块状元素有:html

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>chrome

经常使用的内联元素有:浏览器

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>微信

经常使用的内联块状元素有:布局

<img>、<input>spa



元素分类--块级元素

什么是块级元素?在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是块级元素。设置display:block就是将元素显示为块级元素。以下代码就是将内联元素a转换为块状元素,从而使a元素具备块状元素特色。code

a{display:block;}orm

块级元素特色:htm

一、每一个块级元素都重新的一行开始,而且其后的元素也另起一行。(真霸道,一个块级元素独占一行)

二、元素的高度、宽度、行高以及顶和底边距均可设置。

三、元素宽度在不设置的状况下,是它自己父容器的100%(和父元素的宽度一致),除非设定一个宽度。



元素分类--内联元素

在html中,<span>、<a>、<label>、 <strong> 和<em>就是典型的内联元素行内元素)(inline)元素。固然块状元素也能够经过代码display:inline将元素设置为内联元素。以下代码就是将块状元素div转换为内联元素,从而使 div 元素具备内联元素特色。

 div{

     display:inline;

 }

 

......

 

<div>我要变成内联元素</div>

内联元素特色:

一、和其余元素都在一行上;

二、元素的高度宽度及顶部和底部边距不可设置;

三、元素的宽度就是它包含的文字或图片的宽度,不可改变。



元素分类--内联块状元素

内联块状元素(inline-block就是同时具有内联元素、块状元素的特色,代码display:inline-block就是将元素设置为内联块状元素。(css2.1新增),<img>、<input>标签就是这种内联块状标签。

inline-block 元素特色:

一、和其余元素都在一行上;

二、元素的高度、宽度、行高以及顶和底边距均可设置。



盒模型--边框(一)

盒子模型的边框就是围绕着内容补白的线,这条线你能够设置它的粗细样式颜色(边框三个属性)。

以下面代码为 div 来设置边框粗细为 2px、样式为实心的、颜色为红色的边框:

div{

    border:2px  solid  red;

}

上面是 border 代码的缩写形式,能够分开写:

div{

    border-width:2px;

    border-style:solid;

    border-color:red;

}

注意:

一、border-style(边框样式)常见样式有:

dashed(虚线)| dotted(点线)| solid(实线)。


二、border-color(边框颜色)中的颜色可设置为十六进制颜色,如:

border-color:#888;//前面的井号不要忘掉。


三、border-width(边框宽度)中的宽度也能够设置为:

thin | medium | thick(但不是很经常使用),最常仍是用象素(px)。


 

盒模型--边框(二)

如今有一个问题,若是有想为 p 标签单独设置下边框,而其它三边都不设置边框样式怎么办呢?css 样式中容许只为一个方向的边框设置样式:

div{border-bottom:1px solid red;}

一样可使用下面代码实现其它三边(上、右、左)边框的设置:

border-top:1px solid red;

border-right:1px solid red;

border-left:1px solid red;



盒模型--宽度和高度

盒模型宽度和高度和咱们日常所说的物体的宽度和高度理解是不同的,css内定义的宽(width)和高(height),指的是填充以里的内容范围

所以一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。

元素的高度也是同理。

好比:

css代码:

div{

    width:200px;

    padding:20px;

    border:1px solid red;

    margin:10px;    

}

html代码:

<body>

   <div>文本内容</div>

</body>

元素的实际长度为:10px+1px+20px+200px+20px+1px+10px=262px。在chrome浏览器下可查看元素盒模型,以下图:



盒模型--填充

元素内容边框之间是能够设置距离的,称之为“填充”。填充也可分为上、右、下、左(顺时针)。以下代码:

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

顺序必定不要搞混。能够分开写上面代码:

div{

   padding-top:20px;

   padding-right:10px;

   padding-bottom:15px;

   padding-left:30px;

}

若是上、右、下、左的填充都为10px;能够这么写

div{padding:10px;}

若是上下填充同样为10px,左右同样为20px,能够这么写:

div{padding:10px 20px;}


盒模型--边界

元素与其它元素之间的距离可使用边界(margin)来设置。边界也是可分为上、右、下、左。以下代码:

div{margin:20px 10px 15px 30px;}

也能够分开写:

div{

   margin-top:20px;

   margin-right:10px;

   margin-bottom:15px;

   margin-left:30px;

}

若是上右下左的边界都为10px;能够这么写:

div{ margin:10px;}

若是上下边界同样为10px,左右同样为20px,能够这么写:

div{ margin:10px 20px;}

总结一下:padding和margin的区别,padding在边框里,margin在边框外。

相关文章
相关标签/搜索