^_^,大家将就理解一下吧!
<ol> <!--ordered list--> <li>有序列表</li> <!--list item--> <li>无序列表</li> </ol>
<ul> <!--unordered list--> <li>有序列表</li> <!--list item--> <li>无序列表</li> </ul>
列表一样可以:
<ol> <li>有序列表 <ul> <li>我是嵌套项-1</li> <li>我是嵌套项-1</li> </ul> </li> <li>无序列表</li> </ol>
提示:不仅仅是“竖着”的可以是列表,“横着”的也行。
看一下这个表格,3行2列
<table border="1"> <thead> <tr> <!-- row --> <th>h1</th> <!--table head--> <th>h2</th> </tr> </thead> <tbody> <tr> <td>row 1, cell 1</td> <!--table data cell--> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </tbody> </table>
表格的难点在于它的:
合并,是借用的MS Office中的表述,严格来讲,应该是“跨越”“延伸”(span),可以在单元格(th/td)中使用属性:
<table border="1"> <thead> <tr> <th colspan="2">h1h2</th> </tr> </thead> <tbody> <tr> <td rowspan="2">row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 2</td> </tr> </tbody> </table>
纵向合并理解起来稍稍有点绕,(演示)
表格在早期被广泛用于页面布局,但在CSS兴起之后逐渐被div所取代。
大部分的html标签都是可以自由组合的,但是某些特定的标签,嵌套有严格的规定,比如:
我们不用刻意去记:一是有IDE的提示,二是这些都是标签语义天然的要求。但是要知道,如果我们真的这样组合了,比如:
<table> <tr> <td>1</td> <td>HTML和CSS</td> </tr> <p>hello,源栈</p> </table>浏览器会将不合要求的元素给“挤”出去,而且是挤到上面——这对我们后面的学习/debug有用。
div可以理解为一个“块”,页面中的一大块。比如我们一个网页,可以被分为这么几大块:
我们就可以用三个div予以表示:
<div>页头</div> <div>正文</div> <div>页脚</div>
然后每个div中再各自放入相应的元素。
@想一想@:为什么要这样做?
div的一个重要特点是:一个div(默认)就会占一行,不管这个div里面的元素/内容有宽。
经常和它相对比的就是span,比如:
<span>我又干啥伤天害理的事了?</span> <span>一脸懵逼</span> <span>。原来他又看到了我以前的一篇文章《为什么我不做培训》(找不到了,难道被我无耻的删了?^_^),然后我马上就想起来了,那篇文章里我写了我的理由,大概就是“怕误人子弟,怕同学们缴了钱学不会……”他们现在在调侃他们也学不会,我知道他们在和我开玩笑,但啪啪打脸的赶脚,啧啧! </span>
其特点是:一个span的长度由其中的内容决定,有多长就是多长;多个span连接,不足一行的宽度就在一行中拼接,超出一行的宽度就自动换行。
(对比演示)
具有div这种特征的元素就被称之为块级元素,相对的,具有span这种特征的元素就被称之为流元素。
这在以后学习CSS中非常有用。
大量使用div,导致的一个问题就是:整页都是div,眼睛都看花了……o(╯□╰)o
所以,Html5推出了一批(有特定含义的)语义标签,常用的有:
从浏览器的结果来看,上述html5语义标签和div或span相比,并没有什么区别。
但HTML5提倡使用有语义的标签,而不是div这种(没有任何含义的)无语义的标签,为什么呢?
标签语义化只是HTML5语义化的一部分,后面我们还要学习更多的语义化属性,如alt/title等。
多快好省!前端后端,线上线下,名师精讲
更多了解 加: