1. 程式人生 > >【前端】【html/css】前端學習之路(五):標籤顯示模式(display)

【前端】【html/css】前端學習之路(五):標籤顯示模式(display)

標籤的型別(顯示模式)

    HTML標籤一般分為塊標籤和行內標籤兩種型別,它們也稱塊元素和行內元素。

1.塊級元素(block-level)

    每個塊元素通常都會獨自佔據一整行或多整行,可以對其設定寬度、高度、對齊等屬性,常用於網頁佈局和網頁結構的搭建。總而言之就是比較霸道。

常見的塊元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>標籤是最典型的塊元素。

塊級元素的特點:

(1)總是從新行開始

(2)高度,行高、外邊距以及內邊距都可以控制。

(3)寬度預設是容器的100%

(4)可以容納內聯元素和其他塊元素。

2.行內元素(inline-level)

    行內元素(內聯元素)不佔有獨立的區域,僅僅靠自身的字型大小和影象尺寸來支撐結構,一般不可以設定寬度、高度、對齊等屬性,常用於控制頁面中文字的樣式。

常見的行內元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>標籤最典型的行內元素。

行內元素的特點:

(1)和相鄰行內元素在一行上。

(2)高、寬無效,但水平方向的padding和margin可以設定,垂直方向的無效。

(3)預設寬度就是它本身內容的寬度。

(4)行內元素只能容納文字或則其他行內元素。(a特殊)

注意:
  1. 只有 文字才 能組成段落 因此 p 裡面不能放塊級元素,同理還有這些標籤h1,h2,h3,h4,h5,h6,dt,他們都是文字類塊級標籤,裡面不能放其他塊級元素。

  2. 連結裡面不能再放連結。

  3. 作為行內標籤的a比較特殊,因為其中可以放其他塊級元素

3.行內塊元素(inline-block)

    在行內元素中有幾個特殊的標籤——<img />、<input />、<td>,可以對它們設定寬高和對齊屬性,有些資料可能會稱它們為行內塊元素。

行內塊元素的特點:
(1)和相鄰行內元素(行內塊)在一行上,但是之間會有空白縫隙。
(2)預設寬度就是它本身內容的寬度。
(3)高度,行高、外邊距以及內邊距都可以控制。

4.標籤顯示模式轉換(display)

塊轉行內:display:inline;

行內轉塊:display:block;

塊、行內元素轉換為行內塊: display: inline-block;

示例:
    <style>
        div{
            width: 100px;
            height: 100px;
            background-color: pink;
            display: inline;
        }
        span{
            width: 100px;
            height: 100px;
            background-color: red;
            display: block;
        }
        .test{
            width: 100px;
            height: 100px;
            background-color: red;
            display: inline-block;
        }
        
    </style>
<div>123</div>
<div>123</div>
<span>abc</span>
<span>abc</span>
<span>abc</span>
<div class="test">789</div>
<div class="test">789</div>
<div class="test">789</div>

轉換前:


轉換後:


5.導航欄小練習

    實現效果:


    程式碼如下:

    <style>
        .nav > a {
            width: 120px;
            height: 50px;
            /*background-color: pink;*/
            /*因為a是行內元素, 沒有大小,我們需要轉換  inline-block */
            display: inline-block;
            background-image: url(images/bg.png);
            text-align: center;  /*讓盒子內的文字居中對齊*/
            /*1. 行內元素  行內塊元素  我們可以看做文字 */
            color: #fff;
            text-decoration: none; /*取消下劃線*/
            /*2. 行高等於盒子的高度,可以讓 單行文字垂直居中*/
            line-height: 50px;
        }
        a:link{
            background-image: url('images/bg.png');
        }
        a:hover{
            background-image: url('images/bgc.png');
        }
        .nav {
            text-align: center;
        }
    </style>
    <div class="nav">
        <a href="#">網站導航</a>
        <a href="#">網站導航</a>
        <a href="#">網站導航</a>
        <a href="#">網站導航</a>
        <a href="#">網站導航</a>
        <a href="#">網站導航</a>
    </div>

注意:

    a中為了讓文字居中,特意使用了line-height=height的方式,但是這種方式要視情況而變,大部分情況來說是可以使用的。且line-height值的變化遵循一下規律:

                    line-height > height  文字向下

                    line-height = height  文字居中

                    line-height < height 文字向上

    只要遵循以上規律,並且通過瀏覽器的除錯功能,就可以很方便的除錯文字在行內塊元素內的垂直居中。






相關推薦

前端html/css前端學習標籤顯示模式display

標籤的型別(顯示模式)    HTML標籤一般分為塊標籤和行內標籤兩種型別,它們也稱塊元素和行內元素。1.塊級元素(block-level)    每個塊元素通常都會獨自佔據一整行或多整行,可以對其設定寬度、高度、對齊等屬性,常用於網頁佈局和網頁結構的搭建。總而言之就是比較霸

java版資料結構與演算法分析學習前言

一.資料結構和演算法概述?【框範圍】 基礎資料結構主要包括表【陣列+連結串列】、棧、佇列【散列表】、樹、圖、堆。高階資料結構包括伸展樹、紅黑樹、確定性跳躍表、AA樹、treap樹、k-d樹、配對堆。

Camera專題-從零開始的Camera學習——啟動篇

1.吐槽 如今工作也一年多了,在現在的公司是啥都除錯,從EMMC,TP,LCD,CAMERA等等,對於底層驅動也有了一定的認識

HTML+CSSweb前端工程師

web前端開發工程師 1、web前端開發工程師是做什麼的? 與網站打交道 2、成為一名web前端開發工程師具備的條件 1、興趣 2、敲程式碼 3、web前端開發工程師需要學習什麼 1、軟體(程式碼的鋪助工具) 瀏覽器:瀏覽器有非常多,(谷歌chrome、火狐、IE)

前端html/css前端學習十四製作京東專案心得

1.事前準備 (1)工具使用的是 Webstrom的最新版 和  Fireworks 8 作為切圖的輔助工具。 (2)準備CSS Reset類庫(normalize.css),為跨瀏覽器相容做準備(也可以直接使用京東網站的初始化)  normalize.css

前端小小白的學習整理幾道面試題HTTP協議

ase 賬號 檢測 提交數據 大型數據集 tor 添加 描述 分享 轉自:http://www.cnblogs.com/ranyonsue/p/5984001.html HTTP簡介 HTTP協議是Hyper Text Transfer Protocol(超文本傳輸

前端小小白的學習 JavaScript中的十個難點,你有必要知道。

計算 tel isa 耗時 一個 支持 rip 每次 javascrip 1. 立即執行函數 立即執行函數,即Immediately Invoked Function Expression (IIFE),正如它的名字,就是創建函數的同時立即執行。它沒有綁定任何事件,也無需

前端小小白的學習vue學習記錄vue-cli腳手架構建項目結構

cli 4.0 ebp bpa pack all 點擊 ash install 我們直接從vue的工程化開始入手。 在這裏用git命令行搭建項目環境。(當然直接cmd命令行下也是一樣的) git下載安裝地址:https://www.git-scm.com/downloa

前端小小白的學習vue學習記錄②hello world!

pan cli run def template script port img con 接著上篇vue-cli腳手架構建項目結構建好項目之後,就開始寫個“hello world!”吧~~~ vue玩的都是組件,所以開發的也是組件。 1.新建he

前端小小白的學習vue學習記錄④路由傳參

emp 分享 exp pat vuejs 小白 one -1 limit 通過上篇文章對路由的工作原理有了基本的了解,現在我們一起來學習路由是如何傳遞參數的,也就是帶參數的跳轉。 帶參數的跳轉,一般是兩種方式: ①.a標簽直接跳轉。 ②點擊按鈕,觸發函數跳轉。 在上

HTML+CSS日歷備忘錄靜態

caption ica -s round width 實現 height html+css enter 需求:實現日歷備忘錄(靜態) <!DOCTYPE html> <html> <head> <meta charset=

Flask大標題下設定小標題再加一個線html Css

簡述 參考: https://getbootstrap.com/docs/4.1/content/typography/ https://blog.csdn.net/think2me/article/details/7419028 核心程式碼 <

html+cssul中li水平居中,可以根據media查詢,不同個數的li水平居中

通過給ul設定寬度width,來控制頁面顯示幾個li,你是水平居中顯示的,具體的間距通過li的margin來設定: <div class="navContent" id="newGoods"> <ul> <li>

HTML&CSS基本的入門

在公司培訓一段時間不久就去流浪了一段時間,現在回來重新捧起心愛的程式設計,特別親切。 自學HTML&CSS,別人說了很多,這那這那的,無論簡單還是困難,不親自去俯下身子學習,怎麼都學不會HTML和CSS。 當然這只是進階的基礎,買了兩本,特別好,無論是內容的編排還是可學程度、排版和印刷,都是上上之選。

HTML&CSS搜狐頁面程式碼編寫

<!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <htm

HTML&CSS簡單網頁佈局

一、學習內容回顧 ☆常用標籤列舉 <p></p> <!--段落標籤--> <b></b>

HTML&CSSHTML表單實現互動

瀏覽器通過HTML表單和伺服器實現互動,表單是一個可供使用者輸入資訊的頁面,使用者提交表單後,表單包含的資訊會發送到一個Web伺服器,由伺服器指令碼負責處理並響應,返回一個HTML頁面,最後瀏覽器顯示這個頁面。 表單元素 <form> 所有表單

HTML/CSS浮動結構深入淺出

寫在前面的話:        由於CSS內容比較多,小菜沒有精力從頭到尾講一遍,只能有針對性的講解。        如果讀者理解CSS盒子模型,但對於浮動不理解,那麼這篇文章可以幫助你。        小菜水平有限,本文僅僅是入門教程,不當之處請諒解!      

HTML+CSS教你切圖篇4-iframe佈局、多列布局實現

iframe框架佈局; 專案中經常會使用到iframe,iframe雖然比較多毛病,也比較老了,但是有些專案還是需要,一般專案情況如下圖: 一般需求:讓iframe區域填充滿內容div區域,並且視窗大小改變時自適應。 以往的解決方法是通過js判斷window的寬高,

前端html5/css3前端學習CSS3 2D變形/CSS3 3D變形/CSS3瀏覽器字首

一、2D變形(CSS3) transform transform是CSS3中具有顛覆性的特徵之一,可以實現元素的位移、旋轉、傾斜、縮放,甚至支援矩陣方式,配合過渡和即將學習的動畫知識,可以取代大量之前只能靠Flash才可以實現的效果。 1.移動【  translate(x