css基礎-display 常用布局

CSS display 屬性詳解

屬性設置元素是否被視為塊級或行級盒子以及用于子元素的布局,例如流式布局、網格布局或彈性布局。

一、基礎顯示模式

1. block

作用:
  • 元素獨占一行
  • 可設置寬高和內外邊距
  • 默認寬度撐滿父容器
應用場景:
  • 布局容器(div/section/article)
  • 段落文本(p)
  • 列表項(li默認樣式)
div {display: block;width: 80%;margin: 0 auto;
}
/* 創建通欄頁眉 */
.header {display: block;width: 100%;height: 60px;background: #333;
}

1. inline

作用:
  • 元素水平排列
  • 不可設置寬高
  • 寬度由內容決定
應用場景:
  • 文字修飾元素(span/em/strong)
  • 超鏈接(a)默認樣式
  • 行內文本元素
span {display: inline;color: red;/* width: 100px; 無效 */
}

3. inline-block

作用:
  • 兼具塊級與行內特性
  • 可設置寬高
  • 元素水平排列
應用場景:
  • 導航菜單項
  • 圖標按鈕
  • 表單控件對齊
.nav-item {display: inline-block;width: 120px;padding: 10px;
}

二、現代布局模式

1. flex

快速了解CSS彈性布局

主要設置元素

作用:
  • 創建彈性盒子布局
  • 主軸/交叉軸排列控制
  • 子元素彈性伸縮
應用場景:
  • 響應式導航欄
  • 卡片等分布局
  • 垂直居中實現
.container {display: flex;justify-content: space-between;align-items: center;
}.card-container {display: flex;gap: 20px;justify-content: space-around;align-items: center;
}

1. grid

作用:
  • 創建網格布局
  • 二維布局控制
  • 精確行列定義
應用場景:
  • 儀表盤布局
  • 圖片畫廊
  • 復雜表單布局
.grid-container {display: grid;grid-template-columns: 1fr 2fr;gap: 20px;
}

三、特殊顯示模式

1. none

作用:
  • 元素完全隱藏
  • 不占據文檔流空間
應用場景:
  • 動態顯示/隱藏元素
  • 響應式隱藏某些內容

.mobile-menu {display: none;
}
@media (max-width: 768px) {.mobile-menu {display: block;}
}

table 系列

屬性值作用應用場景
table模擬<table>元素表格樣式布局
table-row模擬<tr>配合表格布局使用
table-cell模擬<td>/<th>垂直居中解決方案

/* 傳統垂直居中方案 */
.vertical-center {display: table-cell;vertical-align: middle;height: 200px;
}

3. list-item

作用:
  • 顯示為列表項
  • 生成標記框(如圓點)
應用場景:
  • 自定義列表樣式
  • 有序/無序列表改造
.custom-list {display: list-item;list-style-type: square;margin-left: 20px;
}

四、混合模式

1. inline-flex

特點:
  • 行內級彈性容器
  • 外部表現像inline
  • 內部使用flex布局

.inline-flex-container {display: inline-flex;align-items: center;
}

2. inline-grid

特點:
  • 行內級網格容器
  • 外部表現像inline
  • 內部使用grid布局
.inline-grid-container {display: inline-grid;grid-template-columns: repeat(3, 100px);
}

其他

1. contents

作用:
  • 元素自身不生成盒子
  • 子元素提升到父級層級
應用場景:
  • 無障礙優化
  • 布局結構調整

示例:

<!-- 移除中間容器層級 -->
<div class="wrapper" style="display: contents"><section>直接內容</section>
</div>

2. flow-root

作用:
  • 創建BFC塊級格式化上下文
  • 解決浮動塌陷問題
應用場景:
  • 清除浮動
  • 防止外邊距合并

📌 使用建議

優先使用現代布局:Flex/Grid > Float/Table

注意瀏覽器兼容性:

  • Grid布局需要IE11+
  • flow-root需要Chrome58+/Firefox53+

📚 綜合對比表

屬性值布局維度是否換行尺寸控制典型應用
block一維支持結構容器
inline一維不支持文本元素
inline-block一維支持導航項
flex一維可選支持響應式布局
grid二維可選支持復雜布局
table-cell一維支持

合理選擇顯示模式:

  • 需要水平排列:inline-block / flex
  • 需要二維布局:grid
  • 隱藏元素優先用opacity: 0 + visibility: hidden代替display: none
  • 避免濫用!important:保持樣式可維護性

通過合理組合使用這些display值,可以構建出各種復雜的現代網頁布局 🚀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/75565.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/75565.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/75565.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

速賣通API數據清洗實戰:從原始JSON到結構化商品數據庫

下面將詳細介紹如何把速賣通 API 返回的原始 JSON 數據清洗并轉換為結構化商品數據庫。 1. 數據獲取 首先要借助速賣通 API 獲取商品數據&#xff0c;以 Python 為例&#xff0c;可使用requests庫發送請求并得到 JSON 數據。 import requests# 替換為你的 API Key 和 Secret …

【零基礎入門unity游戲開發——2D篇】2D物理系統 —— 2D剛體組件(Rigidbody2D)

考慮到每個人基礎可能不一樣,且并不是所有人都有同時做2D、3D開發的需求,所以我把 【零基礎入門unity游戲開發】 分為成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要講解C#的基礎語法,包括變量、數據類型、運算符、流程控制、面向對象等,適合沒有編程基礎的…

Collectors.toMap / list 轉 map

前言 略 Collectors.toMap List<User> userList ...; Map<Long, User> userMap userList.stream().collect(Collectors.toMap(User::getUserId, Function.identity()));假如id存在重復值&#xff0c;則會報錯Duplicate key xxx, 解決方案 兩個重復id中&#…

熱門面試題第13天|Leetcode 110.平衡二叉樹 257. 二叉樹的所有路徑 404.左葉子之和 222.完全二叉樹的節點個數

222.完全二叉樹的節點個數&#xff08;優先掌握遞歸&#xff09; 需要了解&#xff0c;普通二叉樹 怎么求&#xff0c;完全二叉樹又怎么求 題目鏈接/文章講解/視頻講解&#xff1a;https://programmercarl.com/0222.%E5%AE%8C%E5%85%A8%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E8…

關于Object.assign

Object.assign 基本用法 Object.assign() 方法用于將所有可枚舉屬性的值從一個或者多個源對象source復制到目標對象。它將返回目標對象target const target { a: 1, b: 2 } const source { b: 4, c: 5 }const returnedTarget Object.assign(target, source)target // { a…

GitHub高級篩選小白使用手冊

GitHub高級篩選小白使用手冊 GitHub 提供了強大的搜索功能&#xff0c;允許用戶通過高級篩選器來精確查找倉庫、Issues、Pull Requests、代碼等。下面是一些常用的高級篩選用法&#xff0c;幫助你更高效地使用 GitHub 搜索功能。 目錄 搜索倉庫搜索Issues搜索Pull Requests搜…

手動集成sqlite的方法

注意到sqlite有backup方法&#xff08;https://www.sqlite.org/backup.html&#xff09;。 也注意到android中sysroot下&#xff0c;沒有sqlite3的庫&#xff0c;也沒有相關頭文件。 如果要使用 sqlite 的backup&#xff0c;那么就需要手動集成sqlite代碼到項目中。可以如下操…

藍橋杯真題 2109.統計子矩陣

原題地址:1.統計子矩陣 - 藍橋云課 問題描述 給定一個 NMNM 的矩陣 AA, 請你統計有多少個子矩陣 (最小 1111, 最大 NM)NM) 滿足子矩陣中所有數的和不超過給定的整數 KK ? 輸入格式 第一行包含三個整數 N,MN,M 和 KK. 之后 NN 行每行包含 MM 個整數, 代表矩陣 AA. 輸出格…

藍橋杯—最少操作數

一.題目 分析:每次可以進行三次操作&#xff0c;求在n步操作后可以達到目標數的最小n&#xff0c;和最短路徑問題相似&#xff0c;分層遍歷加記憶化搜索防止時間復雜度過高&#xff0c;還需要減枝操作 import java.util.HashSet; import java.util.LinkedList; import java.ut…

Linux內核NIC網卡驅動實戰案例分析

以下Linux 內核模塊實現了一個虛擬網絡設備驅動程序&#xff0c;其作用和意義如下&#xff1a; 1. 作用 &#xff08;1&#xff09;創建虛擬網絡設備對 驅動程序動態創建了兩個虛擬網絡設備&#xff08;nic_dev[0]和nic_dev[1]&#xff09;&#xff0c;模擬物理網卡的功能。這兩…

Trae初使用心得(Java后端)

1.前提 2025年3月3日&#xff0c;字節跳動正式官宣“中國首個 AI 原生集成開發環境&#xff08;AI IDE&#xff09;”Trae 國內版正式上線&#xff0c;由于之前項目的原因小編沒有及時的去體驗&#xff0c;這幾日專門抽空去體驗了一下感覺還算可以。 2.特點 Trade重在可以白嫖…

[項目]基于FreeRTOS的STM32四軸飛行器: 十二.角速度加速度濾波

基于FreeRTOS的STM32四軸飛行器: 十二.濾波 一.濾波介紹二.對角速度進行一階低通濾波三.對加速度進行卡爾曼濾波 一.濾波介紹 模擬信號濾波&#xff1a; 最常用的濾波方法可以在信號和地之間并聯一個電容&#xff0c;因為電容通交隔直&#xff0c;信號突變會給電容充電&#x…

UNIX網絡編程筆記:TCP、UDP、SCTP編程的區別

一、核心特性對比 特性TCPUDPSCTP連接方式面向連接&#xff08;三次握手&#xff09;無連接面向連接&#xff08;四次握手&#xff09;可靠性可靠傳輸&#xff08;重傳、確認機制&#xff09;不可靠傳輸可靠傳輸&#xff08;多路徑冗余&#xff09;傳輸單位字節流&#xff08;…

Python爬蟲異常處理:自動跳過無效URL

爬蟲在運行過程中常常會遇到各種異常情況&#xff0c;其中無效URL的出現是較為常見的問題之一。無效URL可能導致爬蟲程序崩潰或陷入無限等待狀態&#xff0c;嚴重影響爬蟲的穩定性和效率。因此&#xff0c;掌握如何在Python爬蟲中自動跳過無效URL的異常處理技巧&#xff0c;對于…

C++語法學習的主要內容

科技特長生方向&#xff0c;主要學習的內容為 一&#xff0c;《C語法》 二&#xff0c;《數據結構》 三&#xff0c;《算法》 四&#xff0c;《計算機基礎知識》 五&#xff0c;《初高中的數學知識》 其中&#xff0c;《C語法》學習的主要內容如下: 1,cout輸出語句和鍵盤…

3、孿生網絡/連體網絡(Siamese Network)

目的: 用Siamese Network (孿生網絡) 解決Few-shot learning (小樣本學習)。 Siamese Network并不是Meta Learning最好的方法, 但是通過學習Siamese Network,非常有助于理解其他Meta Learning算法。 這里介紹了兩種方法:Siamese Network (孿生網絡)、Trplet Loss Siam…

從零構建大語言模型全棧開發指南:第二部分:模型架構設計與實現-2.2.1從零編寫類GPT-2模型架構(規劃模塊與代碼組織)

?? 點擊關注不迷路 ?? 點擊關注不迷路 ?? 點擊關注不迷路 文章大綱 2.2.1 從零編寫類GPT-2模型架構(規劃模塊與代碼組織)1. 模型架構設計規劃1.1 架構核心組件2. 模塊化設計實現2.1 輸入處理模塊2.1.1 分詞與嵌入2.1.2 位置編碼2.2 解碼塊設計2.2.1 多頭注意力子層2.2.…

消息隊列(Kafka及RocketMQ等對比聯系)

目錄 消息隊列 一、為什么使用消息隊列&#xff1f;消息隊列有什么優點/缺點&#xff1f;介紹下Kafka、ActiveMQ、RabbitMQ、RocketMQ有什么優點缺點&#xff0c;如何取舍&#xff1f; 1.公司業務場景是什么&#xff0c;這個業務場景有什么挑戰&#xff0c;如果不用MQ有什么麻…

Android 13系統定制實戰:基于系統屬性的音量鍵動態屏蔽方案解析

1. 需求背景與實現原理 在Android 13系統定制化開發中&#xff0c;需根據設備場景動態屏蔽音量鍵&#xff08;VOLUME_UP/VOLUME_DOWN&#xff09;功能。其核心訴求是通過系統屬性&#xff08;persist.sys.roco.volumekey.enable&#xff09;控制音量鍵的響應邏輯&#xff0c;確…

解鎖DeepSeek潛能:Docker+Ollama打造本地大模型部署新范式

&#x1f407;明明跟你說過&#xff1a;個人主頁 &#x1f3c5;個人專欄&#xff1a;《深度探秘&#xff1a;AI界的007》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目錄 一、引言 1、什么是Docker 2、什么是Ollama 二、準備工作 1、操…