成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用 CSS 自定義無序列表樣式

開發(fā) 前端
前段時(shí)間實(shí)現(xiàn)了個(gè)自定義無序列表樣式,踩了一些坑,今天和大家說說如何使用 CSS 自定義無序列表樣式

大家好,我是前端西瓜哥。

前段時(shí)間實(shí)現(xiàn)了個(gè)自定義無序列表樣式,踩了一些坑,和大家說說。

設(shè)計(jì)師說我們這個(gè),列表項(xiàng)樣式要優(yōu)化一下,太丑了,這個(gè)原點(diǎn)要大一點(diǎn)。

默認(rèn)的無序列表樣式是這樣的。

<style>
ul {
width: 200px;
border: 1px solid #555;
font-size: 13px;
line-height: 20px;
color: #2362d6;
}
</style>
<ul>
<li>我是第一行。</li>
<li>你是第二行你是第二行你是第二行你是第二行你是第二行</li>
<li></li>
</ul>

雖然覺得有點(diǎn)花里胡哨,但我還是去研究了,看看怎么給圓點(diǎn)變大一點(diǎn)。

::before

我們先將 li 原有的圓點(diǎn)去掉,通過給 li 加上 list-style: none; 的方式。

然后用 ::before 給 li 前面創(chuàng)建一個(gè)偽元素,加上圓點(diǎn)字符。

ul {
/* ... */
/* 稍微調(diào)整一下 ul 的左邊距 */
padding-inline-start: 20px;
}
li {
list-style: none;
}
li::before {
/* 這里加兩個(gè)空白符作為邊距 */
/* 你也可以用 margin-right */
content: "\2022 ";
font-size: 22px;
}

這里我給 content 的值末尾加了兩個(gè)空格符,來實(shí)現(xiàn)右邊距效果。你也可以用 margin-right 來做,更正規(guī)一些。

注意點(diǎn):這里 content 的值最好用轉(zhuǎn)義字符,不要用原字符,因?yàn)槲野l(fā)現(xiàn)在某些瀏覽器會(huì)亂碼。

圓點(diǎn)沒和文字水平居中對(duì)齊,我們用 transform 微調(diào)一下位置。

需要注意的一點(diǎn)是,transform 對(duì)行內(nèi)元素(display: inline)無效。而 ::before 偽元素默認(rèn)為行內(nèi)元素,需要手動(dòng)改為 inline-block。

完整寫法為:

ul {
width: 200px;
border: 1px solid #555;
font-size: 13px;
line-height: 20px;
color: #2362d6;
padding-inline-start: 20px;
}
li {
list-style: none;
}
li::before {
content: "\2022 ";
display: inline-block;
font-size: 22px;
transform: translateY(3px);
}

設(shè)計(jì)師很滿意地離開了。

但過了幾天,他發(fā)現(xiàn)有些不對(duì)勁,又跑過來和我說:不對(duì),這個(gè)換行的文字起始位置不應(yīng)該在圓點(diǎn)下邊,而是應(yīng)該和第一行文字左側(cè)對(duì)齊,也就是應(yīng)該像下面這樣。

::before + 絕對(duì)定位

問題不大,馬上改。

將 ::before 偽元素設(shè)置為絕對(duì)定位,讓圓點(diǎn)脫離正常文檔流。這次我們用 left 來調(diào)整位置。

完整的寫法為:

ul {
width: 200px;
border: 1px solid #555;
font-size: 13px;
line-height: 20px;
color: #2362d6;
padding-inline-start: 40px;
}
li {
position: relative;
list-style: none;
}
li::before {
content: "\2022 ";
position: absolute;
left: -11px;
display: inline-block;
font-size: 22px;
}

效果很完美,設(shè)計(jì)師很滿意地離開了。

list-style-type 和 ::marker

如果你不需要修改圓點(diǎn)大小,而是想替換為其他符號(hào),還用一種寫法是使用 list-style-type 或 ::marker。

list-style-type 用在 ul 元素上。

ul {
width: 200px;
border: 1px solid #555;
font-size: 13px;
line-height: 20px;
color: #2362d6;
padding-inline-start: 20px;
list-style-type: "\2708"; /* 飛機(jī)符號(hào) */
}

然后我們看到原點(diǎn)變成了飛機(jī)字符:

::marker 則是用在 li 元素上,可以讓不同的 li 使用不用樣式。

li::marker {
content: "\2708";
}

更具體的寫法這里就不展開講了,讀者可以自行閱讀官方文檔。

但這種方案在修改圓點(diǎn)大小后,無法使用 transform 進(jìn)行位置的調(diào)整,所以我沒有用這個(gè)。

結(jié)尾

小小的無序列表自定義樣式也挺多門道的,希望對(duì)你有所幫助。

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2011-05-12 16:30:44

自定義滾動(dòng)條

2022-04-20 18:22:18

CSS拖拽預(yù)覽圖

2022-11-29 08:07:23

CSSJavaScript自定義

2025-03-05 10:49:32

2022-04-24 15:17:56

鴻蒙操作系統(tǒng)

2025-05-08 08:30:00

Redis自定義序列化數(shù)據(jù)庫

2009-08-04 13:35:16

ASP.NET自定義樣

2022-06-01 21:54:32

Dragover元素web

2022-08-04 18:30:59

DockerfileDocker 鏡像Linux

2024-06-03 10:00:51

Vue 3語法插槽

2011-04-27 10:31:38

Java

2013-06-27 11:10:01

iOS開發(fā)自定義UISlider

2009-09-07 22:00:15

LINQ自定義

2022-02-16 08:12:03

組件樣式元素

2019-12-25 11:47:27

LinuxFVWM

2009-06-23 11:35:44

JSF的Naviati

2022-01-14 09:17:13

PythonAPISIX插件

2010-10-25 16:05:07

oracle自定義函數(shù)

2015-02-12 15:33:43

微信SDK

2021-01-21 07:35:40

JenkinsUICSS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品99999 | 视频一区在线 | 成人羞羞国产免费视频 | 精品啪啪 | 日韩视频精品在线 | 日本久久久一区二区三区 | 黄色免费网址大全 | 九九热最新地址 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 色噜噜色综合 | av喷水 | 欧美激情亚洲 | 欧美成人黄色小说 | 免费一二区| 亚洲精品自在在线观看 | 精品视频在线一区 | 国产午夜精品视频 | 少妇精品亚洲一区二区成人 | 亚洲风情在线观看 | 亚洲成色777777在线观看影院 | 国产日韩精品视频 | 亚洲一二三视频 | 日韩福利电影 | h视频在线观看免费 | 国产精品伦一区二区三级视频 | 欧美中文 | 亚洲午夜精品一区二区三区 | 91久久精品国产91久久 | 成人性视频免费网站 | 国产精品久久久久久久久久久久久久 | 亚洲男女视频在线观看 | 男人天堂网址 | 日韩免费一区二区 | h在线免费观看 | 国产一区二区在线免费播放 | 精品小视频 | 亚洲天堂中文字幕 | 国产91成人 | 91中文字幕在线 | 日韩免费视频一区二区 | 污视频免费在线观看 |