摘要:使用了值及其以下的所有列表項的數字標記將會按照值重新計數。嵌套列表的一個目的是便于識別列表的起始位置以及每個列表和列表項。嵌套列表完成后,閉合包裹的列表項并繼續在原列表項中操作。從正方形和十進制數一直到亞美尼亞編號都屬可用值范圍。
列表清單是我們日常生活的一部分。未辦事項清單確認我們接下來要做什么,行車導航提供路線列表,食譜提供成分列表和說明列表。幾乎所有的東西都有列表,這就很容易理解為什么它們在網上這么受歡迎。
若我們想在網站上創建列表,HTML提供了三種類型的列表:
無序列表、有序列表和描述列表。選擇哪種列表——或者是否使用列表——歸結于要顯示的內容以及語義上最符合當前內容的標簽選項。
除了HTML中提供了三種不同的列表,我們還可以在CSS中用多種方法實現這些列表。例如我們可以選擇在列表中使用哪種列表項標記。這個標記可以是方形、圓形、數字、字母或者將它隱藏。另外,我們還可以設置列表是縱向展示或橫向展示。所有這些選擇在頁面渲染中都扮演著重要的角色。
無序列表無序列表就是一個內容相關但順序無關緊要的列表。用HTML創建無序列表,使用無序列表塊狀元素,無序列表中的每一項都多帶帶使用列表項元素標記。
默認情況下,大部分的瀏覽器都會為元素添加縱向的margin和左邊的padding,為元素設置一個前置的圓點標記。這些標記被稱為列表項標記,它可以用CSS修改。
有序列表元素與無序列表使用方式相同,列表項元素的創建也相同。它們的主要不同在于,對于有序列表來說,呈現列表項的順序非常重要。
因為是有序的,所以列表項標記默認為數字,為非圓點。
start 屬性
- Head north on N Halsted St
- Turn right on W Diversey Pkwy
- Turn left on N Orchard St
start屬性定義列表項標記的數字從哪個值開始。默認情況下數字從1開始。但有可能列表需要從30或其他值開始。在元素上使用start屬性就可以定義有序列表開始計數的值。
start屬性只接受整數值,即便有序列表可以使用不同類型的數字編號,例如羅馬數字。
reversed 屬性
- Head north on N Halsted St
- Turn right on W Diversey Pkwy
- Turn left on N Orchard St
當我們在元素上使用reversed屬性,表示列表倒序顯示。若一個有序列表有五個列表項1到5,將會按倒序5到1顯示。
reversed屬性是一個布爾值(true或者false),除此之外它不接受任何其他值。false為默認值;當值為true時,元素的列表項將會按倒序顯示。
value屬性
- Head north on N Halsted St
- Turn right on W Diversey Pkwy
- Turn left on N Orchard St
value屬性可以使用在有序列表的元素上,用以修改列表的標記值。使用了value值及其以下的所有列表項的數字標記將會按照value值重新計數。
例如,我們在第二個列表項添加value值為9,那么這個列表項標記的數字顯示為9, 同時所有隨后的列表項標記都會從9以后開始計數。
描述列表
- Head north on N Halsted St
- Turn right on W Diversey Pkwy
- Turn left on N Orchard St
線上還有一種描述列表(但它沒有像無序列表和有序列表那么常見)。 描述列表常用于列出多個術語和描述,例如術語表。
HTML創建描述列表使用描述列表元素。描述列表不再需要元素標記列表項,而是用另外兩個塊狀元素代替:列表項術語元素和描述元素。
描述列表可能包含了多個一對一的術語和描述。除此之外,也可能是多個術語對應一個描述或者多個描述對應一個術語。一個術語可能有多種含義和解釋。相對的,一個描述也可能適用于多個術語。
當我們添加描述時,需要注意元素需要定義在元素之前。定義的術語和描述需彼此對應;所以這些元素的順序非常重要。
默認情況下,元素與
和
元素一樣,帶有縱向外邊距。此外,元素也有一個默認的左外邊距。
使列表極為強大的一個特性是它們嵌套的能力。每個列表都可以嵌套在另一個列表里;它們可以連續地嵌套。但這種無限嵌套的功能并不合適隨意使用。列表還是需要應用在最適合它們語義的地方。
嵌套列表的一個目的是便于識別列表的起始位置以及每個列表和列表項。拿無序列表和有序列表來說,嵌套列表時,元素和
元素的直接子元素是元素。再重復一遍,
元素和
元素的直接子元素只能是元素。
也就是說,在元素內可以添加任何標準的元素標簽,包括或
元素。
若要在列表項中嵌套一個列表,需要新建列表。嵌套列表完成后,閉合包裹的列表項并繼續在原列表項中操作。
- Walk the dog
- Fold laundry
- Go to the grocery and buy:
- Milk
- Bread
- Cheese
- Mow the lawn
- Make dinner
因為嵌套列表有點復雜——如果寫錯樣式會錯亂—— 我們來快速回顧一下。和
元素只能包含元素。元素可以包含任何普通的元素;但元素本身只能是
或
元素的子元素。
值得注意的是,嵌套列表的項標記會根據嵌套的深度改變。在上面的例子中,無序列表在有序列表內以空心圓而非實心圓作為項標記。這是因為無序列表是有序列表的一級嵌套列表。
幸運的是,我們可以控制任何級別的列表項標記,下面我們來看看。
列表樣式無序和有序列表都有默認的項標記,無序列表通常是實心圓,而有序列表是數字。項標記的樣式和定位都可以通過CSS來調整。
list-style-type屬性list-style-type屬性用于設置項標記的內容。從正方形和十進制數一直到亞美尼亞編號都屬可用值范圍。這個樣式可以寫在、
或者元素上
任何list-style-type屬性值都可以添加到無序或者有序列表中。這一功能,可以在無序列表中使用數列項標記,在有序列表使用非數字項標記。
HTML
CSS
ul { list-style-type: square; }list-style-type屬性值
前面提到了list-style-type屬性有一些不同的值。這里羅列出了這些值及其意義。
list-style-type值 | 備注 |
---|---|
none | 無標記 |
disc | 實心圓 |
circle | 空心圓 |
square | 實心正方形 |
decimal | 十進制數 |
decimal-leading-zero | 初始值為0的十進制數 |
lower-roman | 小寫羅馬數字 |
upper-roman | 大寫羅馬數字 |
lower-greek | 小寫古希臘語 |
lower-alpha / lower-latin | 小寫ASCII字母 |
upper-alpha / upper-latin | 大寫ASCII字母 |
armenian | 亞美尼亞語 |
georgian | 傳統格魯吉亞編號 |
我們總會碰到list-style-type屬性值不夠使用的時候,這時候我們就希望能夠自定義項標記。達到此目的最常用方法是為元素設置背景圖。
移除默認的list-style-type屬性值,然后在元素設置背景圖和內邊距。
詳細一點來說,就是將list-style-type屬性值設為none就可以移除項標記。使用background屬性定義一張背景圖,如有必要還可以為其設置定位和重復屬性。接下來設置一個左內邊距為背景圖留出足夠空間。代碼如下所示:
HTML
CSS
li { background: url("arrow.png") 0 50% no-repeat; list-style-type: none; padding-left: 12px; }list-style-position屬性
默認情況下項標記位于元素左側,此時list-style-position屬性的值為outside,表示元素所有內容都顯示在項標記右側。使用list-style-position屬性可以將默認值outside改為inside或inherit。
屬性值outside表示項標記位于元素左側,并且不允許元素內容在項標記下環繞顯示。屬性值inside(非常少見)使項標記顯示在元素第一行,并且允許其他內容在項標記下環繞顯示。
HTML
CSS
ul { list-style-position: inside; }簡寫列表樣式屬性
我們之前介紹的列表樣式屬性list-style-type和list-style-position可以簡寫成一個屬性值list-style。使用list-style屬性可以一次性設置一個或多個列表樣式屬性。簡寫值的順序為先設置list-style-type,后設置list-style-position
ul { list-style: circle inside; } ol { list-style: lower-roman; }橫向列表
偶爾我們也想要展示橫向列表。也許我們想將列表分成多列,來構建一個導航列表,或者將一些列表項放在一行中。基于內容和所需布局,有幾種不同的方法可以將列表設置為單行顯示,例如將元素的display屬性設置為inline或inline-block,或者為元素設置浮動。
display屬性將列表設置為單行顯示最便捷快速的方法就是把的display屬性設置為inline或inline-block。設置后所有元素會間隔一個空格,單行排列顯示。
如果不需要每個元素間的空格,可以根據第五課 定位 所學,移除元素間的空格。
多半我們都會用inline-block而非inline屬性值。inline-block屬性值允許我們簡單快速地為元素添加縱向外邊距和元素間的距離,這些是inline屬性值不能做到的。
當我們將display屬性值改為inline或inline-block,列表項標記,如圓點、數字或者其他的樣式都會被移除。
HTML
CSS
li { display: inline-block; margin: 0 10px; }
float屬性
修改display屬性值為inline或inline-block確實很簡單快捷;但是這種方法移除了列表項標記。如果列表項標記是必須的,那么為元素設置浮動比修改display屬性更合適。
將元素的float屬性設置為left,所有元素都會水平無間隙的排列顯示。當我們為元素設置浮動后,列表項標記默認顯示,并位于相鄰元素上。為避免列表項標記與元素顯示重疊,需要添加橫向的margin或padding
HTML
CSS
li { float: left; margin: 0 20px; }
為任何元素設置浮動,都破壞了頁面的流布局。所以我們必須要記得清除浮動——最常用的是clearfix方法——使頁面回到正常的流布局中。
導航列表示例我們常用無序列表開發導航菜單欄。這些菜單欄通常使用以上提到的兩種方法實現水平布局。下面是一個將display屬性設置為inline-block的無序列表實現的水平菜單欄示例。
HTML
CSS
.navigation ul { font: bold 11px "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 0; padding: 0; text-transform: uppercase; } .navigation li { display: inline-block; } .navigation a { background: #395870; background: linear-gradient(#49708f, #293f50); border-right: 1px solid rgba(0, 0, 0, .3); color: #fff; padding: 12px 20px; text-decoration: none; } .navigation a:hover { background: #314b60; box-shadow: inset 0 0 10px 1px rgba(0, 0, 0, .3); } .navigation li:first-child a { border-radius: 4px 0 0 4px; } .navigation li:last-child a { border-right: 0; border-radius: 0 4px 4px 0; }練習
現在我們知道了如何使用HTML和CSS創建列表,我們回到樣式討論會網站,看看如何使用列表。
目前我們頁面中所有
使用無序列表(元素)和列表項(元素)優化我們菜單欄的結構后,這些新的元素會使菜單欄縱向排列。
為了使元素水平排列,我們將元素的display屬性值改為inline-block,但完成后元素間會留有間隙。回想第五課 定位 的內容,我們知道可以通過在元素的開始標簽和結束標簽之間添加注釋來消除空格。
完成后,
同理,元素中的菜單欄修改后代碼如下所示:
別忘了在所有HTML文件中修改這部分代碼
寫好無序列表后,我們需要清除列表項的一些樣式,并將其設置為水平布局。 我們可以使用class nav來幫我們完成。
我們將所有class為nav的元素內的元素的display屬性設置為inline-block,設置一些外邊距margin,并將垂直屬性vertical-align設置為上對齊top。
除此之外,我們使用偽類選擇器:last-child將最后一個元素的右外邊距margin設為0。這是為了確保元素與父元素間的水平間隙都被移除。
我們在main.css文件的導航樣式下,添加我們需要的樣式:
.nav li { display: inline-block; margin: 0 10px; vertical-align: top; } .nav li:last-child { margin-right: 0; }
你也許很疑惑為什么無序列表沒有項標記或別的默認樣式。這是因為這些樣式都在我們的樣式表中被重置了。如果去查看下重置的樣式,就會發現,
,和元素都設置了margin和padding為0。
和
元素還設置了list-style為none
我們的菜單欄不是唯一使用列表的地方,我們也將其應用到別的頁面中,例如Speakers頁面。 下面讓我們來給討論會添加演講者信息。
在speakers.html文件的引導區塊下,添加一個新的區塊用來展示我們的演講者信息。我們可以復用一些現有的樣式,使用class屬性值為row的元素包裹演講者信息,可以直接應用到白色背景和內邊距。在元素中添加class屬性為grid的 到此為止,添加的HTML如下所示: 在 我們可以使用現有的class col-2-3和col-1-3來設置,完成后代碼如下所示: 這里有一些需要注意的點。首先,每個演講者的元素都有獨立的id屬性,并用演講者的名字作為屬性值。當我們為討論會創建日程表,這個id就會被當作錨點鏈接到演講者信息。 另外, 在占有2/3空間的 以上內容的代碼如下所示: By setting constraints, we force ourselves... As a designer and front-end developer, Shay... 在占有1/3空間的元素中,我們將添加一個class為speaker-info的 在設置樣式之前,我們先在這個 目前為止,這部分的HTML代碼如下所示: By setting constraints, we force ourselves... As a designer and front-end developer, Shay... class為speaker-info的 首先我們在main.css文件中分出一個新的Speakers區塊用來添加speakers頁面的樣式。再來我們為屬性值為speaker-info的class添加1px的灰色實線外邊框和5px的圓角。 接下來,我們添加屬性margin-top值為88px,使元素定位在與演講描述第一段相同的垂直線上,再添加縱向padding為22px給嵌套的無序列表提供空間 最后將此元素內的的文本設置為居中 CSS 完成后代碼如下所示: 讓我們花一分鐘時間回顧下為什么我們要在這里使用 我們在class為col-1-3的元素中添加 隨著演講者越來越多,我們需要確認它們之間的縱向間距相等。為此我們創建了一個class speaker,并為其添加下外邊距margin-bottom為44px,如下所示: 我們將這個class添加在每個演講者的元素上,除卻最后一個。我們在最后一個演講者元素上省略它是因為我們不希望在元素前生成不必要的邊距。多個演講者的布局如下所示: 此處留意下,第一個演講者 Chris Mills 的元素添加了class屬性值speaker生成了縱向邊距,使之與作者 Shay Howe 的元素分開。而最后一個演講者的元素,還是作者 Shay Howe 的,并沒有添加class屬性值speaker,使之與元素之間保持了合適的距離。 到此我們的導航菜單已經完成,演講者speakers頁面也已成形。 這是練習的源代碼。在線預覽 或 點擊下載 列表元素在HTML中使用相當普遍,常用在不是很起眼的地方。使用它們的關鍵是盡可能語義化地使用它們并放在最合適的位置。 我們來總結一下這節課所學: 如何創建無序列表,有序列表和描述列表。 如何正確的在列表中嵌套其他列表 如何改變列表項標記的樣式和位置 如何使用背景圖代替列表項標記 如何水平顯示或浮動列表 現在我們學會了如何在頁面中添加列表,接下來我們將學習如果在頁面中添加媒體,下節課我們將深入學習可嵌入媒體,如圖片、音頻和視頻。 https://learn.shayhowe.com/ht... 文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。 轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/114148.html 摘要:使用了值及其以下的所有列表項的數字標記將會按照值重新計數。嵌套列表的一個目的是便于識別列表的起始位置以及每個列表和列表項。嵌套列表完成后,閉合包裹的列表項并繼續在原列表項中操作。從正方形和十進制數一直到亞美尼亞編號都屬可用值范圍。
列表清單是我們日常生活的一部分。未辦事項清單確認我們接下來要做什么,行車導航提供路線列表,食譜提供成分列表和說明列表。幾乎所有的東西都有列表,這就很容易理解... 摘要:本文轉載自眾成翻譯譯者文藺鏈接原文今年的頂級舉措之一是為我們的用戶提供一個更好的瀏覽體驗。這意味著保持最少的。這些組件有全局的,網站速度信標現場速度信標套件,試驗的庫文件,以及統計模塊等。它們在發布前要經歷嚴格的回歸測試,這就會增加延時。
本文轉載自:眾成翻譯譯者:文藺鏈接:http://www.zcfy.cc/article/912原文:http://www.ebaytechblog... 摘要:小書最后頁面會顯示內容組件可以和組件組合在一起,組件內部可以使用別的組件。當頁面結構復雜起來,有許多不同的組件嵌套組合的話,組件樹會相當的復雜和龐大。下一節中我們將介紹小書事件監聽。
React.js 小書 Lesson8 - 組件的組合、嵌套和組件樹
本文作者:胡子大哈本文原文:http://huziketang.com/books/react/lesson8
轉載請注明出處,保留... 摘要:元素是使用小于號和大于號包裹元素名來標示。一個結束標簽表示元素的結束它由小于號元素名組成例如。和嵌套在內,它們頁面中都是可視的。使用選擇器類型選擇器類型選擇器也叫作元素選擇器根據元素類型選擇元素。
可以的話,請想象一下互聯網沒有發明之前的日子。網站還不存在,紙質的書本是我們主要的信息來源,而在書本中查詢我們想要的資料會耗費相當多的精力和時間。 而如今,你打開個瀏覽器用搜索引擎搜索,任... 摘要:元素是使用小于號和大于號包裹元素名來標示。一個結束標簽表示元素的結束它由小于號元素名組成例如。和嵌套在內,它們頁面中都是可視的。使用選擇器類型選擇器類型選擇器也叫作元素選擇器根據元素類型選擇元素。
可以的話,請想象一下互聯網沒有發明之前的日子。網站還不存在,紙質的書本是我們主要的信息來源,而在書本中查詢我們想要的資料會耗費相當多的精力和時間。 而如今,你打開個瀏覽器用搜索引擎搜索,任... 閱讀 3762·2021-11-24 09:39 閱讀 2964·2021-11-16 11:49 閱讀 2079·2019-08-30 13:54 閱讀 1107·2019-08-30 13:03 閱讀 1096·2019-08-30 11:10 閱讀 721·2019-08-29 17:10 閱讀 1251·2019-08-29 15:04 閱讀 1217·2019-08-29 13:02Shay Howe
Less Is More: How Constraints Cultivate Growth
About Shay
Shay Howe
Less Is More: How Constraints Cultivate Growth
About Shay
/*
========================================
Speakers
========================================
*/
.speaker-info {
border: 1px solid #dfe2e5;
border-radius: 5px;
margin-top: 88px;
padding: 22px 0;
text-align: center;
}
元素上。
.speaker {
margin-bottom: 44px;
}
相關文章
[譯]HTML&CSS Lesson8: 列表
【譯】 eBay 的速度與風范
React.js 小書 Lesson8 - 組件的組合、嵌套和組件樹
[譯]HTML&CSS Lesson1: 構建第一張頁面
[譯]HTML&CSS Lesson1: 構建第一張頁面
發表評論
0條評論
csRyan
男|高級講師
TA的文章
閱讀更多
美國服務器和香港服務器有什么區別?
#黑5#hostkvm,全場VPS終身8折,中國香港招牌VPS終身6折,代金券充$50送$5
【前端】這可能是你看過最全的css居中解決方案了~
網站入口頁雙欄對稱布局實現思路
老生常談之響應式開發
[譯]HTML&CSS Lesson8: 列表
Codepen 每日精選(2018-4-17)
cordova-plugin-app-version插件的使用