问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

DIV布局如何正确的使用 id 和 class求解答

发布网友 发布时间:2022-04-20 13:57

我来回答

2个回答

懂视网 时间:2022-04-20 18:18

1、问题背景 给定一个数组对象,里面是p的id;循环生成p元素,并给id赋值2、实现源码<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>AngularJS动态生成p的ID</title> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> <script> var app = angular.module("idApp

1. AngularJS动态生成div的ID

简介:给定一个数组对象,里面是div的id;循环生成div元素,并给id赋值

2. ThinkPHP在模板中输出变量

简介:控制器中 {代码...} {代码...} 其中land是在前台中是一个div的id,id与base是对应关系,例如land为1的div填充500,land为2的div填充400. 具体是这么的: 前台是一个用HTML做的农场,每块地都有一个ID,也就是我上...

3. 用js得到网页中所有的div的id_javascript技巧

简介:用js得到网页中所有的div的id

4. JS值当前DIV的ID值的代码_javascript技巧

简介:JS值当前DIV的ID值的代码

【相关问答推荐】:

javascript - angularjs什么时候渲染model变量?

javascript - js拼接html的时候怎么让div的id值不同,怎么获取div的id值

javascript - JS如何控制这个div下的aspImage标签的边框颜色?

ThinkPHP在模板中输出变量

javascript - 关于闭包引申出的问题

热心网友 时间:2022-04-20 15:26

按照字面的意思,id是指一个元素在整个文档中的“唯一标志”,而class则是它所属的“类别”。按照语法,同名的id在一个文档里只应该出现一次,而class名可重复使用。
我先举几个例子来说明我所遇到的尴尬:
大多数的页面都是两栏布局的:一个主栏(main column),一个侧栏(side column)。就像这样:
OK,我们会用两个div来表示它们。问题来了,应该使用id还是class?按照常规的理解,一个页面只会有一个主栏,一个侧栏咯,所以当然应该用id。文档写成这:
<div id=main-col</div
<div id=side-col</div
#main-col { float: left; width: 700px;}
#side-col { float: right; width: 200px; }
也是很赏心悦目的,不是么?所以我决定用id。
于是页面做好了,网站做好了,上线了,运营了,访问量大了。这时候公司决定,嗯,我们应该在一些页面中加几个通栏广告。“通栏”哦!这就意味着它必须横跨主栏和侧栏,把它们俩拦腰截断。于是我们重新“发明”一个样式:banner,让banner来一个clear:both; 然后放到页面中间去阻止掉两个栏的浮动。然后再在banner的后面继续分两栏。下面是示意图:
所以HTML应该是这样:
<div id=main-col</div
<div id=side-col</div
<div class=banner</div
<div id=main-col</div
<div id=side-col</div
问题轻松解决(多亏偶经验丰富啊,表扬一下自己,咔咔。)。唯独只有一个问题:main-col和side-col这两个id重复了。这个问题其实也不麻烦,把它们全部改成class不就好啦(甚至,不去改它,我就不信浏览器会给我报错,哼)。
但是,我这不是自己给了自己一个嘴巴么?当初还信誓旦旦的说,main-col只会出现一次,所以用id……。所以教训就是,main-col和side-col,或是left-col, right-col ,extra-col, xxx-col,这些用来分栏布局的样式,都给我用class。嗯,记在本本上。 设计页面的时候,在页头和主菜单之间放了一个搜索框(search-box)。既然我们的页头(header),导航栏(main-menu),登录框(login-box)都用的是id,和它们在一起的search-box也应该用id咯?呃,小心啊,老板很可能会让你在页尾也放一个搜索框的,你用id你就死定了。所以search-box应该用class。不过这样怪怪的,凭什么login-box用id,而search-box却用class呢?
慢着,你以为导航栏就可以保证唯一了么?我来讲一个例子:
喏,老板要来一点不同的,让把导航栏放在左侧。这个没问题,用一个ul就搞定拉。我把它的id设置成main-menu但是过了一会儿,他说,嗯,为了可用性(咳咳。。),我们需要把菜单分成两部分。就像:
呃。。好说,分成两个ul就好了。但是,它们的id都叫main-menu么??哎,老问题又来了。
例子举了这么多,你可看得出,仅仅因为“只出现一次的元素”这个理由,就决定给它用id而不是class,这是绝对行不通的。因为你几乎很难判断某个元素是不是一定只出现一次。但是,这样的分析会得出一个可怕的结论:所有的样式都应该用class。
对此,我其实并不怀疑。事实上,以我的看法,95%以上的样式,都应该通过class而不是id来设置。或者说,除非是一些很细微很特殊的位置,可以使用id来设置样式,其他的样式都应该用class来设置。这个结论似乎和WaSP的圣经书《网页重构》里讲的矛盾,因为他老人家是专门批评了所谓的classitis(class麻疹,见该书148页)。但是很抱歉,铁证如山的事实底下,我不得不否定他那句“热爱id”(见该书150页)。
总结:尽量用class而不是id来控制样式的理由:
可维护性。你不能保证你用id的元素只在页面中出现一次,即使在网页设计初稿中确实是只有一次。 id可能被Ajax程序员使用。如果页面要用ajax的话,某些元素的id值应该由Ajax程序员而不是页面设计师来决定,至少应该是双方共同商定。那么,你怎么能放心你的id值既用来设置CSS样式,又用来供JS调用呢? 同一个元素可以定义多个class,却只能有一个id。你明白我的意思了吧? id的优先级高于class。所以如果对于某个特定的元素,我们想赋予特定的样式,可以给它加id。但是反过来,如果我们一开始就是用id,你去加class是没有效果的啦。
最后,关于Zeldman老先生讲的classitis。我的理解是不要为了某个特定的样式置顶一个特定的class。尽量创造一些能够重复使用的class。而id由于不能重复,反而才容易造成iditis呢。到时候我们的网站会出现search-box-top, search-box-bottom,甚至search-box-under-the-header-but-above-the-main-menu,哈哈。更可怕的是,它们的属性定义其实都一模一样。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
遇到碰瓷怎么办 导致碰瓷者伤亡用负法律责 最新电子防盗装置 3个LED的小夜灯电路 买不到小功率3伏变压器,如何降压做个3伏70毫安电源 小夜灯按钮坏了怎么拆 哪里有各种定做手提袋 如图,我这个配置玩逆战为何会卡?pvp200左右,pve75左右,ping二三十,网... 女孩问你是的时候怎么回答 自习课 同学都睡着了 男同桌问我让我跟他比赛 比谁撒尿尿得远 问他... 想把一个女同学上了,又不想负责任,毕竟她对我没意思,我对她也没意思... 有一个晚上,女同学叫我一起玩,玩着玩着到了半夜,回自己的宿舍太远就... 现在什么软件可以领流量 有一首歌,歌词里面好想有{我不想让你哭,`````什么把你留住}这样的歌词叫什么歌?? 股骨头坏死,真的只有换“骨头”了吗? 股骨头坏死分几期? 不想你哭 歌词 股骨头坏死的危害都有哪些呢? 有首歌的歌词是我不想让你再哭我只想让你幸福的歌名是什么 股骨头坏死不会导致死亡? 股骨头坏死还有的治吗? 不想让你哭这首歌歌词有什么含义? 有一首歌里的歌词有一些面是 我不想让你哭也不想认输 需要歌名 要快啊 股骨头坏死能死人嘛 歌曲*歌词是我不想让你哭,也不想.......,歌曲名字? 洗衣机洗涤完后不排水是什么原因? 煮鸡蛋早上吃好还是晚上吃好,配什么吃 喜欢上别人真的可以放下之前喜欢的人吗? 喜欢上别人是什么感觉? 我喜欢上的女孩喜欢上了别人怎么办? 水煮蛋配什么吃最营养 已婚状态喜欢上别人了怎么办 吃苦瓜能有什么好处? 什么去黑眼圈效果最好 怎么去黑眼圈的效果比较好? 怎么去黑眼圈效果比较好呢? 什么眼贴去黑眼圈效果好 去黑眼圈最好的眼霜怎么样 天德,天厨,国印,月德,太极,文昌贵人等及劫煞,孤煞,元辰,学堂,是什么意思? 四柱神煞 年柱:华盖 月柱:华盖,铁扫帚 日柱:华盖,火霞 时柱:文昌,桃花煞,天扫星,元辰 好不好, 危险性较大工程安全施工专项方案需专家论证的有哪些 水利水电工程与 土木工程哪个前景大 一级建造师最危险,事故发生率最高的专业是哪个 水利工程中E型&#x352D;防怎么做 红水河流域进行水利开发对当地自然环境前生什么影响答案 全球最大缆机群进入拆除阶段,如何做好安全管理工作? 准备考二级建造师,但是在市政和水利水电两个选择上摇摆不定了!这两个到底有啥区别,哪个难呢? 重庆云阳南溪山体垮塌,山体垮塌对道路有什么影响? 中国水利水电建设集团哪个工程局最好? 被注销了,最近联系好友都删了请问一下怎么找回来? 我的重新登录,里面通讯录里的朋友一个也没了?求解!!还能找回吗?_百度问一问 怎样种植藠头