href 属性可以用 js 的 location.href 代替,img 标签可以拿 background-image 配合 background-size 解决,input 可以用 div 的 contentEditable 解决,其余的什么 p、ul、li、span 等等更不用说了,都可以解决,而且我印象中谷歌也表示过,html 标签不影响 SEO,那么我全部用纯 div 写一个网页有什么弊端?
101
taojing10 2017-10-27 08:41:35 +08:00 via Android
没必要吧
|
102
stephenliubp 2017-10-27 08:43:17 +08:00
就是 iOS 中几乎所有的东西都可以用自定义 UIView 来实现,为什么还存在那么多控件一样。道理不言而喻
|
103
linxl 2017-10-27 08:47:44 +08:00
我就记得三个字 语义化
|
104
jokerjoker 2017-10-27 08:55:43 +08:00 2
如果你写个 select,别人一看代码就知道这是个下拉菜单,如果你写个 a,别人一看就知道是可以点击的超链接,如果你写个 ul 一看就是和列表有关的东西.
一个语言最重要的部分,并不是实现怎样的功能,而代码是需要人写的,可读性永远是最重要的部分. |
105
youxiachai 2017-10-27 09:07:50 +08:00
@Mark24 你是没看到正面回答的?冷嘲热讽..
是因为 lz 压根就不回答那些问题 |
106
allce231 2017-10-27 09:08:04 +08:00
你要这样写也没人管你啊
|
107
quxw 2017-10-27 09:27:31 +08:00
是都可以用 div, 然后需要用一堆 class,来对这些 div 做分类,配置相应的默认属性。
这时 tag 都没意义了,因为都一样的,全看 class。 tag 这一层就被浪费了(而且是大家最熟悉一层,你自己定义的 class 别人又看不懂)。 这个问题就像,汇编什么都能做,要高级语言干嘛。 |
108
linus3389 2017-10-27 09:47:04 +08:00
@codehz 凡是也不是绝对的,当 webGL 足够好用的使用搞不好以后就不需要 css 和 html 标签了呢,webAsm 普及了后呢,可能又会是另一番格局,不要对现有掌握的技术与标准就绝对的肯定,保持一颗维新的心。
|
109
dot 2017-10-27 10:01:39 +08:00
HTML 1.0 是从各种标签开始的……
|
110
Persephone 2017-10-27 10:09:20 +08:00
甚至可以自己定义一个标签
但是最大的问题是,全用 div,在一些特殊浏览器上根本无法正常显示,而且一旦脱离开 Javascript,这个网页是没法用的。 HTML 本来就是一个文档格式,随使用者自由发挥。 |
111
c447279704 2017-10-27 10:14:55 +08:00
简单
|
112
xiaoxi123 2017-10-27 10:21:48 +08:00
语义化
|
113
cctv1005s927 2017-10-27 10:24:35 +08:00
@Reign
当然是最好不要 [全部] 这样做,因为你要实现复用,和一些三方的插件引入,例如 jquery,bootstrap 这样的第三方插件。 所以最好不要将 css 和 js 混在同一个 html |
114
cctv1005s927 2017-10-27 10:27:52 +08:00
@j
感谢反对。 我在回复中有举例情况 [网络状况不好时] , 最常见的就是 github 在国内网络不好时,导致 js 和 css 无法被加载出来,但是你依然能够看到 github 页面的基本框架,能读懂它。 如果全是 div 的话,此时可读性就差很多。 |
115
ty89 2017-10-27 10:33:28 +08:00
可以 b 一波了
|
116
maybeonly 2017-10-27 10:41:33 +08:00
标签是有自己的含义的。比如 a 表示一个链接,h1 等等表示标题……
虽然都用 div 可以渲染到差不多的样子,但是遇到辅助功能的时候就 gg 了。 |
117
coolzjy 2017-10-27 10:46:02 +08:00
所有的循环都可以写成递归,所有的 while 都可以写成 for,所有的 else 都可以改写成 if,那这些东西存在的意义是什么?
写着方便,看着明白呗。 |
118
klren0312 2017-10-27 12:53:01 +08:00
上次公司给我的页面是 axure 生成的,让我改呢,拿标签乱的。。。
|
120
fuermosi777 2017-10-27 13:40:02 +08:00
难道没人考虑标签有助于 accessibility 吗?
|
121
caola 2017-10-27 14:36:47 +08:00
@alwayshere 为什么有这些标签,是为了减少学习成本,和开发成本,让开发者能快速的完成项目。
就比如 jquery 一样,为什么那么多人使用 jquery,而不直接写原生的 js 代码? 还不就是能更快速的实现功能,节约时间成本。 |
122
momocraft 2017-10-27 14:42:22 +08:00
一个人的所有需求都可以用土豆解决 为什么你
|
123
linpf 2017-10-27 15:31:57 +08:00
当年,CSS 还没有出现的时候……
|
124
Marfal 2017-10-27 15:56:39 +08:00
|
125
KuroNekoFan 2017-10-27 16:35:40 +08:00
肯定是可以的,不过一般没人这么干
|
126
19629037902 2017-10-27 17:05:27 +08:00
一个字:方便
|
127
daisyxdx 2017-10-27 17:21:50 +08:00
可读性
|
128
seasolzombie 2017-10-27 17:38:03 +08:00 via Android
html5 的出现已经强调了语义化很重要,源码是给人看的,不是给机器看的。标签不同不仅仅是元素名字不同,原型也可能有差别
|
129
UnknownR 2017-10-27 17:43:46 +08:00
定义,方便阅读与查阅,比如使用文本处理 html 快速定位内容的时候,标签的作用就显得非常重要了
|
130
wuxinli1025 2017-10-27 19:10:08 +08:00
不仅可以用<div>标签, 还可以用自定义的标签呢。
|
131
Vonex 2017-10-27 22:23:35 +08:00
机器怎么都是看得懂的,人就不一定了
|
132
spolarbear 2017-10-27 23:18:10 +08:00
就好比每句 html 都不直接写,而放在 javascript 里面写“ document.write...”的意思。。。
|
133
Jackeriss 2017-10-27 23:23:54 +08:00 via iPhone
有盐就已经是咸的了,为什么还要放酱油?
|
135
millionart 2017-10-28 06:04:34 +08:00
引用楼主第一句话
“ href 属性可以用 js 的 location.href 代替” 使用了 js 的网页不是纯 HTML 引用楼主第二句话 “ img 标签可以拿 background-image 配合 background-size 解决” background-image 和 background-size 是 HTML 中 标签 的 属性,但早期的部分浏览器并不支持这类属性,因为当时没有更高级的视觉需求,所以这些表现形式分别内嵌入了标签自身,而衍生出了不同的标签以表现样式,直到人们发现同样的页面在不同浏览器下表现的样子大相径庭,才有了这些补充 所以回答楼主的问题: 1 纯 div 不可能解决所有 HTML 需求 2 多种类标签是语义化没错,但更早是一个历史问题,因此 HTML5 开始支持自定义标签了 说点题外话: 其实这类视觉类属性在近年已经基本不使用了,因为他们被更高级的叫做 CSS 的东西和叫做 内容样式分离 的设计思路代替了,那段时间是个混乱的时代,很多人听说过 XHTML,但少有人听说过 xml+xsl,是一种更深层的“内容表现分离”,大约在 03 年时候我尝试过这种设计,印象中魔兽世界国服第一代论坛就是采用这种技术,优点是速度极快,缺点是浏览器兼容性较差(因为思路太超前),可惜这种技术不知为何并没有被普及,现在也没人用了 |
136
wmfei 2017-10-28 08:27:57 +08:00
如果你的代码只是给自己看,那就无所谓
|