http://item.taobao.com/item.htm?id=8312311465adobe id 和密码 ...

css中id和class&的区别
ID与Class区别,有的新手对此非常迷茫,不知道什么时候该用id,什么时候该用class。这两个选择器让新手左右为难。
一、在web标准中是不容许重复ID的,例如 div id="a"
不容许重复2次;而class所定义的是类,理论上可以无限重复。以根据需要多次引用。
二、属性的优先级问题:ID
的优先级要高于class,我们在下面的代码中有示例说明。
三、方便JS等客户端脚本的引用,如果在页面中要对某个对象进行脚本操作,那么可以给他定义一个ID,否则只能利用遍历页面元素加上指定特定属性来找到它,这是相对浪费时间资源,远远不如一个ID来得简单与快捷。
class是设置标签的类。
id是设置标签的标识。 
class属性用于指定元素属于何种样式的类。
如样式表可以加入:
color: background: #ff80c0 }
使用方法:class="baobao"
id属性用于定义一个元素的独特的样式。如一个CSS规则:
font-size: larger } 
使用方法:id="binbin"
id是一个标签,用于区分不同的结构和内容,就象你的名字,如果一个屋子有2个人同名,就会出现混淆;
class是一个样式,可以套在任何结构和内容上,就象一件衣服; 
概念上说就是不一样的:id是先找到结构/内容,再给它定义样式;class是先定义好一种样式,再套给多个结构/内容。
一个Class是用来根据用户定义的标准对一个或多个元素进行定义的。打个比较恰当的比方就是剧本:一个Class可以定义剧本中每个人物的故事
线,你可以通过CSS,javascript等来使用这个类。因此你可以在一个页面上使用class="Frodo"
,class= "Gandalf",
class="Aragorn"来区分不同的故事线。还有一点非常重要的是你可以在一个文档中使用任意次数的Class。
ID,通常用于定义页面上一个仅出现一次的标记。在对页面排版进行结构化布局时(比如说通常一个页面都是由一个页眉,一个报头&
masthead&,一个内容区域和一个页脚等组成),一般使用ID比较理想,因为一个ID在一个文档中只能被使用一次。而这些元素在同一页面中
很少会出现大于一次的情况。
归纳成一句话就是:Class可以反复使用而ID在一个页面中仅能被使用一次。有可能在很大部分浏览器中反复使用同一个ID不会出现问题,但在标准上这绝对是错误的使用,而且很可能导致某些浏览器的现实问题。
在实际应用的时候,Class可能对文字的排版等比较有用,而ID则对宏观布局和设计放置各种元素较有用。
-----------------------------------------------------------------------------------------------------------------------------------
按照字面的意思,id是指一个元素在整个文档中的“唯一标志”,而class则是它所属的“类别”。按照语法,同名的id在一个文档里只应该出现一次,而class名可重复使用。
但是在具体使用的时候,哪些样式该用id,哪些样式改用class呢?有个***很简单:
那些只会在页面中出现一次的元素应该用id来表示。比如页头(header)
页尾(footer),导航菜单(main-menu)等。但是真的这么简单么?
我先举几个例子来说明我所遇到的尴尬:
大多数的页面都是两栏布局的:一个主栏(main column),一个侧栏(side
column)。就像这样:
OK,我们会用两个div来表示它们。问题来了,应该使用id还是class?按照常规的理解,一个页面只会有一个主栏,一个侧栏咯,所以当然应该用id。文档写成这:
id="main-col"&&/div&
id="side-col"&&/div&
#main-col {
float: width: 700}
#side-col { float: width: 200 }
也是很赏心悦目的,不是么?所以我决定用id。
于是页面做好了,网站做好了,上线了,运营了,访问量大了。这时候公司决定,嗯,我们应该在一些页面中加几个通栏广告。“通栏”哦!这就意味着它必须横跨主栏和侧栏,把它们俩拦腰截断。于是我们重新“发明”一个样式:banner,让banner来一个clear:
然后放到页面中间去阻止掉两个栏的浮动。然后再在banner的后面继续分两栏。下面是示意图:
所以HTML应该是这样:
id="main-col"&&/div&
id="side-col"&&/div&
class="banner&&/div&
id="main-col"&&/div&
id="side-col"&&/div&
问题轻松解决(多亏偶经验丰富啊,表扬一下自己,咔咔。)。唯独只有一个问题:main-col和side-col这两个id重复了。这个问题其实也不麻烦,把它们全部改成class不就好啦(甚至,不去改它,我就不信浏览器会给我报错,哼)。
1,但是,我这不是自己给了自己一个嘴巴么?当初还信誓旦旦的说,main-col只会出现一次,所以用id……。所以教训就是,main-col和side-col,或是left-col,
right-col ,extra-col,
xxx-col,这些用来分栏布局的样式,都给我用class。嗯,记在本本上。
2,设计页面的时候,在页头和主菜单之间放了一个搜索框(search-box)。既然我们的页头(header),导航栏(main-menu),登录框(login-box)都用的是id,和它们在一起的search-box也应该用id咯?呃,小心啊,老板很可能会让你在页尾也放一个搜索框的,你用id你就死定了。所以search-box应该用class。不过这样怪怪的,凭什么login-box用id,而search-box却用class呢?
3,慢着,你以为导航栏就可以保证唯一了么?我来讲一个例子:
喏,老板要来一点不同的,让把导航栏放在左侧。这个没问题,用一个ul就搞定拉。我把它的id设置成main-menu但是过了一会儿,他说,嗯,为了可用性(咳咳。。),我们需要把菜单分成两部分。就像:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。2503人阅读
android之eclipse(2)
今天在学习的过程中遇到了如标题的问题:@+id/和android:id用法的区别?
首先看代码:
&?xml version=&1.0& encoding=&utf-8&?&
&LinearLayout xmlns:android=&/apk/res/android&
android:layout_width=&fill_parent&
android:layout_height=&fill_parent&
android:orientation=&vertical& &
android:id=&@id/android:list&
android:layout_width=&fill_parent&
android:layout_height=&wrap_content&
android:drawSelectorOnTop=&false&
android:scrollbars=&vertical& &
&/ListView&
&/LinearLayout&上述在代码中,模拟器运行会发现出现异常:java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list.
接下来看Activity中代码:
public class ListViewActivity extends ListActivity {
@Overrided
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//如果使用了以下的layout文件则需要在此文件中假如ListView,
而且id一定为 @android:id/list& &
//否则会报 Your content must have a ListView whose id attribute is 'android.R.id.list&
//固定用法。如果没有设置下面的layout,则自动使用默认的layout,不需定义listview&
&setContentView(R.layout.listview);
注意这里继承的是ListActivity,不是原来的Activity。
ListActivity是一个绑定到一个数据源,并且用来显示这一串数据的Activity。
ListActivity拥有一个listview对象来实现数据源的绑定与显示,
通常会是一个array或者一个拥有查询结果的cursor
ListActivity本身有一个默认的layout,其中包含一个全屏的list。
如果用默认的layout,你必须要在onCreate()中注释掉setContentView()那一句。
但是如果你如果你想要定制自己的layout你可以创建一个你自己的layout文件,并且在onCreate()中调用
setContenttView()来指定这个layout.,
需要注意的是你自己的layout中必须要有一个id为&@android:id/list&的ListView,如上面的XML代码。
正确的代码:修改android:id=&@id/android:list& ------修改-----&android:id=&@android:id/list&,这样模拟器就能运行起来。
下面通过查询Android API文档资料进行关于android:id=&@../..&x相关用法说明记录如下:&&&&&
在Android系统中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值。id属性只接受资源类型的值,也就是必须以@开头的值,例如,@id/result、@+id/user等。如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java文件中生成相应的int类型变量。变量名就是“/”后面的值,例如,@+id/user会在R.java文件中生成int user = value(value是一个十六进制的数,例如在R.java中的public static final
int user=0x7f030003;)。
如果user在R.java中已经存在同名的变量,就不再生成新的变量,而该组件会使用这个已存在的变量的值。
如果使用@+id/name形式,当R.java中存在名为name变量时,则该组件会使用该变量的值作为标识。如果不存在该变量,则添加一个新的变量,并为该变量赋相应的值(不会重复)。
在Android系统中既然组件的id属性是一个资源id就可以,那么自然可以设置任何已经存在的资源id值,例如,@drawable/icon、@string/ok、@+string/you等。当然,也可以设置android系统中已存在的资源id,例如,我所遇到的@id/android:list,那么这个android是什么意思呢,实际上,这个android就是系统的R类(在R.java文件中)所在的package。
由于是初学者关于说明@+id/和android:id写法的区别概述也许不是很准确到位,但这仅是记录个人学习的过程。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:51723次
排名:千里之外
原创:22篇
转载:13篇
(1)(1)(2)(3)(9)(9)(6)(3)(1)欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!您的位置: >
> 中在代码中我们常常看到、等频繁使用,而div id和div class最常见的单词。
&id=&header&&&class=&abc&&
类似这样的在div标签中使用id和class调用对应样式。
DIV的ID属性和CLASS属性有什么区别呢?
1、语法区别
id对应css是用样式选择符&#&(井号);
class对应css是用样式选择符&.&(英文半角输入句号)
&id=&header&&&class=&abc&&
对应CSS应该是:
#header{...}&.abc{...}&/*&说明:这里以省略号替代CSS样式内容&*/&
2、使用规定区别
id属性,只能被一个元素调用(以&#&选择符样式在一个页面只能使用调用一次)
class类标记,可以用于被多个元素调用(以&.&选择符命名样式可以一个页面使用多次)
id:在同一个页面,只可以被调用一次,在CSS里用&#&表示。
class:是类标签,在同一个页面可以调用无数次(没限制的),在CSS里用&.&表示。
ID就像一个人的***,用于识别这个的,Class就像人身上穿的衣服,用于定义这个DIV的样式。一般一个网页不设二个或二个以上同ID的div,但Class可以多个DIV用同一个Class
更多相关知识:
4、如需转载,请注明文章出处和来源网址:我要分享到:上一篇: 下一篇: 必备CSS教程 Essential CSS Tutorials• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • ()• • ()• ()• • • • • • • • • • • • • • • • 必备HTML基础教程 Essential HTML Tutorials •
• () • () • () •
• () •
• () •
• 如对文章有任何疑问请提交到,或有任何网页制作CSS问题立即到发贴求解 或 直接DIVCSS5网页顶部搜索遇到DIVCSS疑问。文章修订日期: 12:47
原创:本文 DIVCSS5版权所有。最新文章NEWS• • • • • • • • • • CSS EFFECTS相关文章RELATED• • • • • • • • • • 热点文章HOT
学习与资源分享平台

参考资料

 

随机推荐