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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...