前端切圖的時候常常會遇到圖片佈局,初學者可能會比較生疏。接下來我會以3行3列的圖片列表為列子介紹兩種常用的切圖方案:
float版面
display:inline-block🜎版面的方法
float佈局
非常簡單,一般我會使用ul li佈局
然後給每個li元素定一個寬度並向左浮動。這裡每行要顯示3張圖片,那麼每張圖片的寬度可以用百分比來計算:100/3=33.3%。
li { list-style: none; float: left; width: 33.3%;/*三列图片排列*/ }
每個img標籤的寬度設為100%,佔滿整個li的寬度,為了防止圖片變形,高度自適應
li { list-style: none; float: left; width: 33.3%;/*三列图片排列*/ } li img { width: 100%; }
好了,咱們來看看效果。
怎麼跟我們想的不一樣?這時候清單是混亂的。別急,這是因為圖片的尺寸不一。如果項目中圖片的尺寸差異太大的話,建議在父元素定死一個高度,並設定超出隱藏。但如果圖片尺寸差異不大的話,建議設定height: auto;以達到高度自適應的目的。li { list-style: none; float: left; width: 33.3%;/*三列图片排列*/ height: 100px;/*当图片尺寸不一的时候,设置一个高度*/ overflow: hidden;/*超出隐藏*/ }

li img { position: relative; width: 100%; top: 50%;/*li高度的一半*/ transform: translateY(-50%); /*再向上移动自身的50%*/ }

但是注意了,新手可能會忽略掉的一個隱藏問題:子元素浮動之後父容器坍塌了,有時候這種特性會嚴重影響到我們的佈局。讓我們來測試一下,在ul元素的前後分別添加一個p元素
.red{ width: 100%; height: 30px; border: 1px solid red; } .blue{ width: 100%; height: 30px; border: 1px solid blue; } <p></p>
- ...
可以看到.blue元素緊挨著.red元素了,ul元素表現得像是不存在一樣
這是因為元素浮動後後脫離了文檔流,關於浮動的原理可以參閱w3school的CSS 浮動以及CSS浮動屬性Float詳解,這裡不再贅述。清除浮動的方法有很多,這裡推薦添加:after偽元素去除浮動.clearfix:after{ position: relative; content: ''; display: block; width: 0; height: 0; visibility: hidden; clear: both; } <p></p>
- ...

同float float: left;替換成display: inline-block;
li { list-style: none; display: inline-block; width: 33.3%; /*三列图片排列*/ height: 100px; /*当图片尺寸不一的时候,需要设置一个最大高度*/ text-align: center; /*内容居中*/ overflow: hidden; /*超出隐藏*/ }來看一下效果,出現了間隙,而且被擠成兩半了。怎麼回事? ~
注意,inline-block的元素之間會存在間隙,具體請參閱張鑫旭的部落格。這裡使用font-size: 0;方法清除元素間的間隙
ul { width: 100%; margin: 0 auto; font-size: 0; }
更多div+css圖片列表版面(一) 相關文章請追蹤PHP中文網!

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境