CSS深入淺出-寬度與高度
文件流
文件流就是文件內元素的流動方向。
內聯元素從左到右流動,遇到阻礙分行繼續流。
塊級元素從上往下流動,每一個塊獨佔一行。
CSS高度
設計字型時要給一個建議行高,所以除了用line-height
固定行高外,很難寫死字型高度
內聯元素的寬高
- 寬度
內聯元素的寬度是由裡面的字個數決定的 - 高度
內聯元素的高度是由行高(line-height
)決定的,padding和margin無法改變其高度。
塊級元素的寬高
- 寬度
塊級元素的寬度是由裡面的字個數,以及內外邊距決定的。 - 高度
塊級元素的高度是由裡面文件流的元素高度總和決定的
小技巧
居中
- 文字垂直居中
使用padding
屬性可以實現垂直居中 - 文字水平居中
使用text-align:center;
屬性可以實現水平居中
兩端對齊
- 一段話
1.使用text-align:justify;
可以讓一段話兩端對齊,但如果只有一行,是不能對齊的
2.給元素加上::after
偽類,在該偽類裡使用width100%
,給原話加上text-align:justify;
,同時兩端屬性均加上display:inline-block;
來兩端對齊 - 舉例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<style>
div{
font-size:20px;
}
span{
display:inline-block;
text-align:justify;
line-height:20px;
height:20px;
width:5em;
overflow:hidden;
}
span::after{
content:'';
display:inline-block;
width:100%;
text-align:justify;
}
</style>
</head>
<body>
<div>
<span>姓名</span><br><span>聯絡方式</span>
</div>
</body>
</html>
文字打斷
因為中英文語言上的區別,預設的文字打斷屬性是不同的,可以通過改該屬性實現英文分行
- 英文
預設屬性為word-break:break-word
;,通過改該屬性來實現英文分行
也可以在單詞中加上連字元"-"來實現英文分行 - 中文
預設屬性是word-break:break-all
;,即為每個字都分開來算
inline空格問題
只要是inline
元素,兩個元素間不相鄰的話一定會有空格,可以通過脫離文件流來解決這個問題
margin合併問題
假設一個父元素包裹住一個子元素,如果父子元素都有margin屬性,而父元素沒有擋住子元素的東西,那麼子元素的margin會和父元素的margin
合併起來
使用padding
或者block
可以解決這個問題
文字省略效果怎麼做
- 單行文字
div{
white-space:nowrap; //不換行
overflow:hidden; //超出div邊界部分隱藏
text-overflow:ellipsis; //超出部分文字以省略號顯示
}
- 多行文字
- 直接google關鍵詞"
css multi line text ellipsis
"然後點選第一條關鍵詞,直接抄程式碼,略改一下以完成需求。 - 抄下方程式碼
div{
overflow:hidden; //超出div邊界部分隱藏
display:-webkit-box;
-webkit-line-clamp:2; //顯示兩行文字
-webkit-box-orient:vertical;
}
實現一個1:1的div
- 以下程式碼
div{
padding-top:100%;
}
border除錯大法
在除錯css之前,給所有div都加上一個1px的border
用來看,方便除錯
相關文章
- CSS--寬度與高度CSS
- CSS 設定 span 元素 寬度與高度CSS
- 純css實現高度與寬度固定比例CSS
- css 實現圖片寬度自適螢幕,高度與寬度成固定比例CSS
- CSS Tips——未知寬度高度居中對齊CSS
- CSS 高度和寬度媒體查詢CSS
- css(二):高度與文件流,line-box與box,寬度,position與CSS
- 深入淺出 CSS 動畫CSS動畫
- css--常見左右盒子寬度高度自適應佈局CSS
- css實現高度height隨寬度width變化保持比例不變CSS
- 深入淺出FE(十四)深入淺出websocketWeb
- 深入淺出深拷貝與淺拷貝
- 獲取各種螢幕高度寬度(工作)
- Tomcat深入淺出——Session與Cookie(四)TomcatSessionCookie
- Tomcat深入淺出——Filter與Listener(五)TomcatFilter
- 深入淺出的“深拷貝與淺拷貝”
- js 獲取可視介面的高度或寬度JS
- 淺讀-《深入淺出Nodejs》NodeJS
- 深入淺出Nginx實戰與架構Nginx架構
- CSS 圖片固定長寬比實現高度自適應CSS
- 深入淺出mongooseGo
- HTTP深入淺出HTTP
- 深入淺出WebpackWeb
- 深入淺出HTTPHTTP
- mysqldump 深入淺出MySql
- 深入淺出——MVCMVC
- 深入淺出IO
- 深入淺出decorator
- ArrayList 深入淺出
- 深入淺出 RabbitMQMQ
- 深入淺出PromisePromise
- 深入淺出 ZooKeeper
- 深入淺出 PLT/GOT Hook與原理實踐GoHook
- 深入淺出瞭解“裝箱與拆箱”
- JS,Jquery獲取各種螢幕的寬度和高度JSjQuery
- 前端頁面高度和寬度自適應怎麼做?前端
- Flutter | 深入淺出KeyFlutter
- 深入淺出 Laravel EchoLaravel