日期:2014-05-17  浏览次数:21256 次

为什么要使用UL和LI?
如题,我现在做DIV+CSS的网页,我感觉只要有DIV基本上什么都能实现了,UL和LI我感觉用起来很麻烦,因为默认有圆点,还有前导空格。 

比如我现在做一个文字列表,我可以最外面一个DIV,然后里面每行文字一个DIV。 

可是我看了很多人家的网页,都是DIV,UL和LI混合使用的。请问这样用有什么好处?UL及LI标记到底比DIV有些什么优势呢?

------解决方案--------------------
li本来用于做列表的,正如P用于段落,当然你用DIV通过定义CSS也完全可以模拟出li、p等标签。
正如你所说“用DIV基本上什么都能实现了”,试下如果去了CSS样式你的网页是什么样子的。列表用LI,即使没有CSS支持,还是列表的形式。
------解决方案--------------------
绝不考虑使用table,横向布局用带有float的div或li取代td。慎用ul li,当有重复单元时可使用ul li,没有重复的单元就别用ul,那样代码看上去很不整齐。

最大限度利用ul li的优点。用ul li可以减少class=””的声明数量,当你把一套重复单元放进li之后,在ul里定义一个class=””就足够了。当然会付出代价,ul的兼容问题比div成倍的多。


------解决方案--------------------
要因时,因需而定。
不过,就本人的经验来看,ul并没有楼主所说的“UL做列表麻烦,兼容性不好”。
------解决方案--------------------
li/UL本来用于做列表的,尤其是在没有CSS的时代。
------解决方案--------------------
我觉得这也是一种书写习惯.DIV,TABLE就是用来布局的,UL,TR就是输出行,LI,TD就是输出列.
楼主当然可以全部都用DIV来实现所有效果,但我想请问你会在整个页面上全放TABLE而不用TR,TD么?如果按您所说的,那不需要TR和TD而全放TABLE也是可以实现效果的.
既然人家提供了一种列表项的标签来显示列表的效果,为啥不用呢...
就优势来说,我感觉UL,LI(或TR,TD)的方式比多个DIV(或TABLE)嵌套的方式要容易理解的多,而且可读性也比较好.这样写会比有层次感.
试想下一个页面打开全是DIV有多恐怖...

------解决方案--------------------
可以全部使用div而不使用ul li,只要你愿意,页面上所有的布局完全可以只用div实现,当然,也可以完全只用ul li实现,没有人强制规定应该怎么用,甚至你也可以继续用table布局。不过既然两种方法都能实现需要的显示效果,那就根据标签的语义来选择使用,这样便于自己和他人也包括搜索引擎的理解。
------解决方案--------------------
探讨
引用:
你真正了解table的语义么?知道table的本职工作是什么么?

另:ul的兼容性不好,那得看你自己的了解程度,我并不觉得它会比table更难控制!

我只想知道用UL比用DIV来做列表的优势。。。

------解决方案--------------------
楼主,看了你的观点,我真看不出你竟然在这方面做了3年这么久.

正确的说现在提倡的不是DIV+CSS.而是XHTML+CSS.关于这方面,你还需要多去看看网站重构方面的知识.

UL对于DIV的优势?

如何让别人在不加载你的CSS样式的情况下就能方便的浏览你的网页?这里就需要用到各种各样有各自语义的标签来表现了.

一个合格的网站应当做到内容与表现分离,同时在不加载CSS的情况下就应当呈现的是最原始的文本,必须具备良好的阅读性.该是表格的时候是表格<TABLE>,该是标题的时候是标题<H1>,该是列表的时候应当就是列表了<UL>,试问如果你把UL换成统统都是DIV,所有内容都没有特定的语义,统统左边对齐上下排列,这个阅读性是否会大打折扣?况且在用<UL><LI>做嵌套的时候在CLASS方面会省很多代码,在CSS文件中只需要用#ID UL LI{}引用下就能设置同一样式,请问你每行文字都用一个DIV,如果内容多了你需要多少个CLASS?难道你可以用#ID DIV来引用不成?

再纠正你一点,DIV不是层,HTML里面的层应当是LAYER,DIV只不过是个标准的BOX块级元素,是个标准的容器!


------解决方案--------------------
<h1>也可以用DIV代替 为什么还用<h1>呢 该用什么就用什么 没坏处 

在没有CSS的时候 LI还是是列表 不管是横向还是纵向 但还是列表 DIV还是DIV但不是本意的列表