DIV布局:如何正确使用id和class解决问题
从字面上看,id是指一个元素在整个文档中的“唯一标志”,而class则是它所属的“类别”。根据语法,同名的id在一个文档中应该只出现一次,而类名可以重用。
我举几个例子来说明我的尴尬:
大部分页面被分为两栏:一个主栏和一个侧栏。就像这样:
好,我们用两个div来代表它们。问题来了。应该用id还是class?按照常规的理解,一个页面只有一个主栏和一个侧栏,当然要用id。将文档写成这样:
& ltdiv id=main-col<。/div
& ltdiv id=side-col<。/div
# main-col { float:left;宽度:700px}
# side-col { float:right;宽度:200px}
也很顺眼不是吗?所以我决定用id。
所以页面做好了,网站做好了,上线了,运营了,访问量大了。这个时候,公司决定,嗯,我们应该在一些页面上添加一些横幅广告。“童办”哦!这意味着它必须穿过主杆和侧杆,在中间切断它们。于是我们重新发明了一种风格:banner,让banner有一个明确的:both然后放在页面中间,阻止两列的浮动。然后继续分成两列跟在横幅后面。这是示意图:
所以HTML应该是这样的:
& ltdiv id=main-col<。/div
& ltdiv id=side-col<。/div
& ltdiv class = banner & lt/div
& ltdiv id=main-col<。/div
& ltdiv id=side-col<。/div
轻松解决问题(感谢我丰富的经验,夸夸自己,卡卡。)。只有一个问题:main-col和side-col的两个id是重复的。其实这个问题并不麻烦。把它们都改成class就行了(甚至,如果你不改,我不相信浏览器会给我报错,哼)。
但是,我不是给了自己一个嘴巴吗?在开始的时候,我承诺主颜色只会出现一次,所以我使用了ID ……因此,教训是,主栏和侧栏,或左栏,右栏,额外的栏,XXX栏,这些用于列布局的样式,对我来说都使用类。好吧,把它写在你的笔记本上。当设计页面时,在标题和主菜单之间放置一个搜索框。既然我们的标题、导航栏(主菜单)和登录框都使用id,那么搜索框也应该使用id?嗯,要小心,老板可能会让你在页面末尾放一个搜索框。如果你用id,你就死定了。因此,搜索框应该使用类。然而,很奇怪。为什么登录框使用id而搜索框使用class?
等等,你觉得导航条能保证唯一性吗?让我给你举个例子:
在这里,老板想要不同的东西。让我们把导航栏放在左边。这个没问题。一个ul就能搞定。我把它的id设置为主菜单,但是过了一会儿,他说,嗯,为了可用性(咳咳。。),我们需要把菜单分成两部分。比如:
哦…。比如说,把它分成两大块。但是他们的id都叫主菜单吗?马鞭哎,老问题又来了。
举了这么多例子,可以看出仅仅因为“只出现一次的元素”的原因,就决定用id代替class是绝对不可行的。因为几乎很难判断一个元素是否必须只出现一次。但是,这种分析会得出一个可怕的结论:所有的风格都应该使用class。
我并不怀疑这一点。其实在我看来,95%以上的样式都应该是按类而不是id来设置的。换句话说,除非是非常微妙特殊的位置,可以用id来设置样式,其他所有样式都要用class来设置。这个结论& # 20284;与WaSP的圣经《网络重建》相矛盾,因为他老人家特别批评了所谓的阶级itis(见该书第148页)。但很抱歉,在无可辩驳的事实下,我不得不否定他的“爱情id”(见本书第150页)。
总结:尽可能使用类而不是id来控制样式的原因:
可维护性。你不能保证你使用id的元素在页面中只出现一次,哪怕在网页设计初稿中只出现一次。Id可能被Ajax程序员使用。如果页面使用ajax,一些元素的& # 20540应该由Ajax程序员决定,而不是页面设计者,或者至少是双方达成一致。那么,你怎么能相信你的id & # 20540是用来设置CSS样式和调用JS的吗?同一个元素可以定义多个类,但是它只能有一个id。你明白我的意思吗?Id优先于类。所以如果我们想给一个特定的元素赋予特定的样式,我们可以给它添加id。但反过来说,如果一开始就用id,加类也没用。
最后,关于泽尔德曼先生谈到的阶级问题。我的理解是不为特定的风格设置特定的类。尝试创建一些可以重用的类。但由于id不能重复,容易造成iditis。那时,搜索框顶部,搜索框底部,甚至搜索框下的标题,但关于主菜单将出现在我们的网站上,哈哈。更可怕的是,它们的属性定义其实一模一样。
p是什么元素吗?
p是一个块级元素,以便于对元素进行格式化,把文档分割成独立的板块,并且不和其他元素进行关联,一般情况下,p都是使用id和class来进行标记。
p全称是DIVision,也是对层叠样式表进行定位,很多时候,我们都称为图层,p为html中的内容提供图层结构等其他元素
使用p布局网站的时候,可以减少网站的代码,现在都喜欢用css+p去布局网站,因为修改比较方便。p精简了很多代码,当然页面的加载速度也提高了,同时网站页面也不会出现错乱。
DIV主要的作用就是起分割的作用,一般常用的标签都是使用p进行分割,并且把样式进行分割。
如何用Jquery获取某一个Div的Class或者ID?
首先,要用jquery获取到这个元素,用attr方法可以输出这个元素的标签属性。例如:<p id=’id1′ class=’class2′></p>$(‘#id1’) 获取到这个元素,有很多种获取元素方法,可参考jquery的文档。$(‘#id1’).attr(‘id’),就是获取到ID$(‘#id1’).attr(‘class’),就是获取到整个的class样式,多个样式可以自行用空格split一下。
p标签四种使用方法?
1.首先打开编辑器,新建一个HTML文件
2.编写DIV标签,语法演示:<p>内容</p>
3.使用p标签class属性,该属性可以是p最常用的属性之一,可以定义style样式。 语法演示:<p class="…
4.使用p标签ID属性为其设置唯一性,并可以ID名称选中DIV。
p写在head里面吗?
p不是写在head里面,但是可把p写在单独cSS文件里放head里面调用。
p属于web前端的学习内容,其中<p> 标签常用于组合块级元素,以便通过样式表来对这些元素进行格式化。<p> 可定义文档中的分区或节(pision/section)。<p> 标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。如果用 id 或 class 来标记 <p>,那么该标签的作用会变得更加有效。
css如何处理class的内容?
css怎么调用class
Class在程序中称“类”,同时在CSS中也书面语也叫“类”。在CSS样式中以小写的“点”及“.”来命名如:.top{属性:属性值;}。
也就是“.”class选择器选取带有指定类 (class) 的元素。
在html页面里则以class="top"来选择调用,如:.top{属性:属性值;},在html里调用为<p class="top">这里是文字</p>