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

Posted

tags:

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

ID 和 Class的区别和使用:

1.ID是页面中唯一的,而class可以多个,(如下图),1位置引号中只有2个,css5和css5_class,而2位置引号中就只能有一个 css5_id

2.ID要设置样式时用“#”号定义,而class用“.” 号定义。

3.ID的优先级大于class

比如说在同一个标签中,id样式中定义了文字颜色为红色,class文字颜色为绿色。结果显示是id的红色。(如下图)

参考技术A class可以在页面里面重复使用,
id由于在页面里面只能出现一次,所以不能重复使用,
所以尽量用class来写,这样能在页面里面重复引用你写的css,减小工作量和代码量。

这种情况尽量用id:页面大的模块里面,用id来区分不同的模块。
比如页面里面有这样的模块:最新新闻,推荐新闻等。就可以考虑用id来区分。

还有一点,由于id是页面中唯一的,更多的是定义来留给给页面里面的javascript用。

补充: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则可以出现多个
参考技术C 这两个是css里面的两个选择器, 对应于页面上的元素的属性id 和class ,也就是css通过id和class来找到页面上匹配的id或class对应的元素,加载样式。
如果是用id来选择,css就是用#id的写法。
如果是用class选择,css就是 .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 有啥区别?