CSS 的 ID 和 Class 有啥区别?如何正确使用它们
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS 的 ID 和 Class 有啥区别?如何正确使用它们相关的知识,希望对你有一定的参考价值。
css的id和class不同之处在于体现在以下几个方面:
css中id的优先级高于class,以下示例代码进行说明:
.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应该有一定的规范性。
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: <div [class.classOne]="true"></div>
// 现在 div 元素将具有 classOne 类,因为结果为 true 或某个值。
更好地理解类的参考: https://angular.io/api/common/NgClass,
Difference between [ngClass] vs [class] binding
【讨论】:
以上是关于CSS 的 ID 和 Class 有啥区别?如何正确使用它们的主要内容,如果未能解决你的问题,请参考以下文章
CSS 的 ID 和 Class 有啥区别?如何正确使用它们
CSS 的 ID 和 Class 有啥区别?如何正确使用它们