CSS 的 ID 和 Class 有啥区别?如何正确使用它们

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS 的 ID 和 Class 有啥区别?如何正确使用它们相关的知识,希望对你有一定的参考价值。

css的id和class不同之处在于体现在以下几个方面:

    css中id的优先级高于class,以下示例代码进行说明:

<style>
.aacolor:#000
#bbcolor:ff0000
</style>
<div class="aa" id="bb">猜猜class和id优先级谁高</div>
<style>
#bbcolor:ff0000
.aacolor:#000
</style>
<div class="aa" id="bb">猜猜class和id优先级谁高</div>

说明:无论class的样式文件在第一行或者第二行输出结果都是红色字体,说明id优先级高于class。

2.class css中得用.class的属性值,id是#id的值。

正确使用id和class

    如果涉及到js获取值的话用id,否则用class来写。

注意事项:命名css的class和id应该有一定的规范性。

参考技术A 1,在css样式表中书写时,id选择符前面应该加前缀符号‘#’,而class选择符前面应该加前缀符号‘.’。

2,id属性一般在一个页面中只可以使用一次,而class可以被多次引用。

3,id作为元素的标签,用于区分不同结构和内容,而class作为一个样式,它可以应用到任何结构和内容上。

例如:
html中<div id="div1"></div>给该div添加样式,有两种方法:①直接在CSS文件中定义Id选择器#div1②在CSS定义类选择器.class1,然后<div id="div1" class="class1"></div>指明他的类样式 两种方法的效果是一样的,但是id只能给一个元素指明类样式,而class可以在任一元素中定义它的样式。

举个例子:class和id在页面里面的使用方法:
class:
<style type="text/css">
.footerbackground:red;
</style> <div class="footer">footer</div>
id: <style type="text/css">
#footerbackground:red;
</style>
<div id="footer">footer</div>

定义class的css是用点:“.”,如.footer
定义id的css是用井号“#”,如#footer

//让div居中对齐

让div内的内容(包括文字及图片)居中的代码是: text-align:center;

<style type="text/css">
刚刚入门,要记住。

.align-center
margin:0 auto; /* 居中 这个是必须的,,其它的属性非必须 */
width:500px; /* 给个宽度 顶到浏览器的两边就看不出居中效果了 */
background:red; /* 背景色 */
text-align:center; /* 文字等内容居中 */

</style>
参考技术B 个人总结的一些区别:
在css中,ID的前缀用"#",Class的前缀用"."
同一个标签,只能有一个ID,但可以有多个Class(如:div id="div1" class="div1 div2 div3",表示该div的ID为div1,Class分别为div1、div2、div3三个)
优先级:同时定义一个标签的ID和Class的css,ID所定义的css优先于Class(如:#divfont-size:14px; .divfont-size:12px;;则它的字体大小是14px)
在同一个页面,ID只能出现一个,Class则可以出现多个

angular html中的class和[class]有啥区别

【中文标题】angular html中的class和[class]有啥区别【英文标题】:What is the difference between class and [class] in angular htmlangular html中的class和[class]有什么区别 【发布时间】:2020-12-01 03:11:03 【问题描述】:

寻找有关角度文件夹结构的良好做法我偶然发现了这段代码:

content-layout.component.html:

<div [class]="theme">
  <div class="mat-app-background">
    <app-nav></app-nav>

      <div class="container">
        <router-outlet></router-outlet>
      </div>

    <app-footer></app-footer>
  </div>
</div>

据我了解,class 标签用于将此组件 HTML 与 CSS 类绑定。 但是方括号引起了我的注意,[class] 和用于 css 绑定的类之间有什么真正的区别吗?我无法自己搜索正确的搜索词/功能名称

【问题讨论】:

【参考方案1】:

括号[] 表示该值是组件中的一个属性,因此不是说将类theme 应用于元素,而是在组件中查找属性theme 并使用存储的任何内容在那里。

class="theme" // apply class theme

    // Component
    public theme = 'theme';

    // HTML
    [class]="theme" // use what's stored in property "theme"

    or

    [class]="'theme'" // use string 'theme'

【讨论】:

为了进一步扩展这个答案,Angular 将其称为“绑定”。方括号本身表示单向绑定,但也可以进行双向绑定。请参阅此处了解更多信息:angular.io/guide/binding-syntax【参考方案2】:

[] 是一种将数据绑定到 ts 和 HTML 的方式,所以在这种情况下,theme 是一个变量,而另一边 container 是一个直接属性

【讨论】:

【参考方案3】:

你对class的理解是对的,来到[class],根据值,class将应用于那个元素。如果该值为 true 或某个值,则该类将应用于该元素,否则它将忽略该类。所以基本上你是在使用一个特定的类来实现某些功能,而不是把它用于另一个

eg: &lt;div [class.classOne]="true"&gt;&lt;/div&gt; // 现在 div 元素将具有 classOne 类,因为结果为 true 或某个值。

更好地理解类的参考: https://angular.io/api/common/NgClass,

Difference between [ngClass] vs [class] binding

【讨论】:

以上是关于CSS 的 ID 和 Class 有啥区别?如何正确使用它们的主要内容,如果未能解决你的问题,请参考以下文章

CSS 的 ID 和 Class 有啥区别?如何正确使用它们

CSS 的 ID 和 Class 有啥区别?如何正确使用它们

CSS class 和id有啥区别?

html中,id,name,class之间的有啥区别?

一个网站 css没有用id都是class这样有啥不好吗 正确的规则是啥样的呢

id 和 class 有啥区别?