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在邊框外。

相關文章
相關標籤/搜索