CSS中的一些細節

来源:https://www.cnblogs.com/buildnewhomeland/archive/2020/04/17/12722285.html
-Advertisement-
Play Games

一、塌陷 1.當position設置為:absolute或者fixed時,元素的display會轉換為block。(設置float也會產生這樣的效應) 2.正常情況下,div會被內容撐開,但是如果設置了 1. 的情況下,父元素就會產生 塌陷 ,失去高度。 解決辦法: 給父元素設置高度。 給父元素設置 ...


一、塌陷

1.當position設置為:absolute或者fixed時,元素的display會轉換為block。(設置float也會產生這樣的效應)
2.正常情況下,div會被內容撐開,但是如果設置了1.的情況下,父元素就會產生塌陷,失去高度。

解決辦法:

給父元素設置高度。
給父元素設置overflow: hidden;

二、文本的自動換行

對於那種長單詞,會超出元素的實際寬度。

解決辦法

word-break:break-all;

三、文本溢出部分隱藏

解決辦法

overflow: hidden;

四、溢出打點

4.1 單行文本打點

p{
    width: 200px;
    overflow: hidden;
    white-space: nowrap; /*不換行*/
    text-overflow: ellipsis; /*溢出部分點樣式*/
}

4.2 多行文本溢出打點

p{
    width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3; /*行數*/
    -webkit-box-orient: vertical;
}

五、flex佈局

當設置了display: flex;後,那麼子元素的float、clear和vertical-align屬性失效。
flex佈局,分為容器和項目兩個部分。一般而言,容器就是父元素,項目就是該父元素下的子元素。
(1)flex-direction: row(預設)| row-reverse | column | column-reverse
決定主軸方向,也就是定義容器元素是行方向排列還是列方向排列,
並且定義它的起點方向,例如行方向是從左向右還是從右向左。
反之,列方向是從上到下還是相反呢。(row是行,column是列。)

(2)flex-wrap: nowrap(預設) | wrap | wrap-reverse
決定是否都拍在一行(列)里,也就是是否換行。
以行為例有三種情況,不換行、換行(第一行在上方),換行(第一行在下方)

(3)flex-flow: row nowrap(預設)
這是flex-direction屬性和flex-wrap屬性的簡寫形式,
第一個參數定義排列方式,第二個參數定義是否換行。

(4)justify-content: flex-start | flex-end | center | space-between | space-around
調整主軸方向上項目的對齊方式。
以行向排列為例,可以設置為靠左對齊,靠右對齊,水平居中對齊。
還有兩個特殊的:
space-between(兩端對齊,相當於文本對齊【text-align】里的justify);
space-around(元素兩側間隔相等,且比它與邊框的間隔大一倍)

(5)align-items: flex-start | flex-end | center | initial(從父元素繼承)
調整交叉軸方向上的項目對齊方式。
如果行方向是主軸方向,那麼列方向就是交叉軸方向。
以行方向為例,可以設置垂直在上,垂直在下,垂直居中。
兩個特殊的:
baseline(項目元素第一行文字的基線對齊);
stretch是預設的(如果項目元素沒有設置高度,那麼它就會自動拉伸高度至整個容器高度)

六、rem適配方案

https://www.cnblogs.com/Nyan-Workflow-FC/p/10698237.html

七、元素居中

https://www.cnblogs.com/xinjie-just/p/5916001.html

  1. 文本(img也是)元素水平居中 text-align: center;
  2. 塊級元素水平居中 margin: 0 auto;
  3. 單行文本垂直居中 設置line-height和div的height
  4. 不確定高度的文本垂直居中 使用padding-top和padding-bottom
  5. 確定高度的塊級元素垂直居中 position: absolute; top:50%; margin-top: -高度的一半;
  6. 絕對定位實現垂直居中 position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto;
  7. 給父元素設置 display: table-cell; vertical-align: middle;
  8. css3 設置完定位和top,left後設置 transform: translate(-50%,-50%);
  9. 彈性盒子(有相容問題)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Quartz.Net 任務計劃 Windows服務 分享用到的參考及遇到的問題 一、Quartz.Net 參考: 1、介紹及創建:https://www.cnblogs.com/best/p/7658573.html 2、MIsfire機制:https://www.jianshu.com/p/572 ...
  • 源碼環境一覽 下載安裝 1. Maven|Git|Java下載安裝 Maven、Git 、Java 請先自行下載安裝並配置環境變數。 Maven安裝完畢後在Maven配置文件settings.xml中配置阿裡雲鏡像。 2. HBase 源碼下載 然後下載HBase 2.2.3源碼到本地,建議使用方式 ...
  • 簡介 • MongoDB是為快速開發互聯網Web應用而設計的資料庫系統。 • MongoDB的設計目標是極簡、靈活、作為Web應用棧的一部分。 • MongoDB的數據模型是面向文檔的,所謂文檔是一種類似於JSON的結構,MongoDB中的“JSON”我們稱為BSON,比普通的JSON的功能要更加的 ...
  • 5.3 B+ 樹 B+ 樹是為磁碟或其他直接存儲輔助設備設計的一種平衡查找樹。在B+樹中,所有記錄都是按照鍵值大小順序存放在同一層的葉子節點上,由葉子節點指針進行連接,雙向鏈表連接。 5.3.1 B+ 樹的插入操作 考慮一下三種情況: Leaf Page滿 Index Page 滿 操作 No No ...
  • 一、ES6 基本認識 1、什麼是 ES6? ES6 指的是 ECMAScript 6.0,是JavaScript 語言的一個標準。其目標是使JavaScript 可以用來編寫複雜的大型的應用程式,成為企業級開發的語言。 2、ES6 與 JavaScript 的區別? ES6 是 JavaScript ...
  • p5.js完成星際穿越特效 歡迎關註我的 "博客" ,⬅️點他即可。 星際穿越,是模仿漫天星辰撲面而來的感覺。 最關鍵的在於對透視的掌握。 參考資料:The Coding Train 00 思路構想 1. 星星是一個圓,會隨機的出現在屏幕的任何位置; 2. 星星會從遠處到眼前: 圓的大小 來表示遠近 ...
  • ES6 axios執行原理 Axios 是一個基於 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中 http://www.axios-js.com/zh-cn/docs/ 1. axios.get('1111.json') .then(response => { consol ...
  • (1) 鏈接式:(外部引入.css文件) ( 用得比較多 ) <link>在html載入前就被引用 在網頁的<head></head>標簽對中用<link>引入外部樣式表,使用html規則引入外部css : <link href="./css/style.css" rel="stylesheet" ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...