Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
家好,我是前端西瓜哥。
前段時間實現了個自定義無序列表樣式,踩了一些坑,和大家說說。
設計師說我們這個,列表項樣式要優化一下,太丑了,這個原點要大一點。
默認的無序列表樣式是這樣的。
<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>
雖然覺得有點花里胡哨,但我還是去研究了,看看怎么給圓點變大一點。
我們先將 li 原有的圓點去掉,通過給 li 加上 list-style: none; 的方式。
然后用 ::before 給 li 前面創建一個偽元素,加上圓點字符。
ul {
/* ... */
/* 稍微調整一下 ul 的左邊距 */
padding-inline-start: 20px;
}
li {
list-style: none;
}
li::before {
/* 這里加兩個空白符作為邊距 */
/* 你也可以用 margin-right */
content: "\2022 ";
font-size: 22px;
}
這里我給 content 的值末尾加了兩個空格符,來實現右邊距效果。你也可以用 margin-right 來做,更正規一些。
注意點:這里 content 的值最好用轉義字符,不要用原字符,因為我發現在某些瀏覽器會亂碼。
圓點沒和文字水平居中對齊,我們用 transform 微調一下位置。
需要注意的一點是,transform 對行內元素(display: inline)無效。而 ::before 偽元素默認為行內元素,需要手動改為 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);
}
設計師很滿意地離開了。
但過了幾天,他發現有些不對勁,又跑過來和我說:不對,這個換行的文字起始位置不應該在圓點下邊,而是應該和第一行文字左側對齊,也就是應該像下面這樣。
問題不大,馬上改。
將 ::before 偽元素設置為絕對定位,讓圓點脫離正常文檔流。這次我們用 left 來調整位置。
完整的寫法為:
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;
}
效果很完美,設計師很滿意地離開了。
如果你不需要修改圓點大小,而是想替換為其他符號,還用一種寫法是使用 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"; /* 飛機符號 */
}
然后我們看到原點變成了飛機字符:
::marker 則是用在 li 元素上,可以讓不同的 li 使用不用樣式。
li::marker {
content: "\2708";
}
更具體的寫法這里就不展開講了,讀者可以自行閱讀官方文檔。
但這種方案在修改圓點大小后,無法使用 transform 進行位置的調整,所以我沒有用這個。
小小的無序列表自定義樣式也挺多門道的,希望對你有所幫助。
我是前端西瓜哥,分享前端知識,歡迎關注我。
下是一些常用的HTML網頁源代碼示例,這些示例可用作HTML文檔的基礎:
1、創建一個簡單的HTML文檔結構:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"content="width=device-width,initial-scale=1.0">
<title>My Web Page</title>
</head>
<body>
<h1>Hello,World!</h1>
<p>This is a simple HTML webpage.</p>
</body>
</html>
2、插入圖片:
<img src="image.jpg"alt="Description of the image">
3、創建超鏈接:
<a href="https://www.example.com">Visit Example.com</a>
4、創建無序列表:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
5、創建有序列表:
<ol>
<li>First item</li>
<li>Second item</li>
<li>Third item</li>
</ol>
6、創建表格:
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>Row 1,Cell 1</td>
<td>Row 1,Cell 2</td>
</tr>
<tr>
<td>Row 2,Cell 1</td>
<td>Row 2,Cell 2</td>
</tr>
</table>
7、插入段落:
<p>This is a paragraph of text.</p>
8、插入換行符:
<p>This is some text.<br>This is on a new line.</p>
9、創建一個文本輸入框:
<input type="text"name="username"placeholder="Enter your username">
10、插入按鈕:
<button type="button">Click me</button>
這些示例代碼只是HTML的基礎,HTML具有更豐富的功能和標記選項,可以根據需要進行擴展和定制。請根據您的具體需求,使用這些示例作為起點,構建您自己的網頁。
【名揚銀河企業網站系統】
【免費】提供企業【網站源碼】,簡單易用,無須擁有代碼基礎。
歡迎留言或私信我們咨詢。
以上內容由【名揚銀河】企業網站系統原創發布,轉載請注明出處。
TML 基礎
非常簡單的HTML文檔
HTML 標題
HTML 段落
HTML 鏈接
HTML 圖片
實例解析
HTML 標題
HTML 標題
在html源碼中插入注釋
插入水平線
實例解析
HTML 段落
HTML 段落
更多段落
本例演示在 HTML 文檔中折行的使用。
HTML 格式化的某些問題。
實例解析
HTML 文本格式化
文本格式化
此例演示如何使用 pre 標簽對空行和空格進行控制。
此例演示不同的"計算機輸出"標簽的顯示效果。
此例演示如何在 HTML 文件中寫地址。
此例演示如何實現縮寫或首字母縮寫。
此例演示如何改變文字的方向。
此例演示如何實現長短不一的引用語。
文本下劃線與刪除線
實例解析
HTML 樣式
HTML Style 元素
背景色樣式
字體樣式,顏色,大小
文本對齊樣式
設置文本字體
設置文本字體大小
設置文本字體顏色
設置文本字體,字體大小,字體顏色
HTML使用不同樣式
沒有下劃線的鏈接
鏈接到一個外部樣式表
實例解析
HTML 鏈接
創建超級鏈接
將圖像作為鏈接
在新的瀏覽器窗口打開鏈接
鏈接到同一個頁面的不同位置
跳出框架
創建電子郵件鏈接
創建電子郵件鏈接 2
實例解析
HTML 圖像
插入圖像
從不同的位置插入圖片
排列圖片
本例演示如何使圖片浮動至段落的左邊或右邊。
制作圖像鏈接
創建圖像映射
實例解析
HTML 表格
簡單的表格
沒有邊框的表格
表格中的表頭
帶有標題的表格
跨行或跨列的表格單元格
表格內的標簽
單元格邊距(Cell padding)
單元格間距(Cell spacing)
實例解析
HTML 列表
無序列表
有序列表
不同類型的有序列表
不同類型的無序列表
嵌套列表
嵌套列表 2
定義列表
實例解析
HTML Forms 和 Input
創建文本域(Text fields)
創建密碼域
復選框
單選按鈕
簡單的下拉列表
預選下拉列表
本例演示如何創建一個文本域(多行文本輸入控件)。
創建一個按鈕
本例演示如何在數據周圍繪制一個帶標題的框。
帶有文本域與輸入域的表單
帶有復選框與提交按鈕的form表單
帶有單選框與提交按鈕的表單
發送郵件表單
實例解析
HTML iframe
內聯框架 (HTML頁面中插入框架)
實例解析
HTML 頭部元素
描述了文檔標題
HTML頁面中默認的URL鏈接
提供文檔元數據
實例解析
HTML 腳本
插入一個腳本
使用 <noscript> 標簽
實例解析
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。