前端/angualr html中style和class的區別以及常用的元素屬性

1 背景

學習angualr時,使用ngClass和ngStyle一臉懵逼,兩者都是對標籤的屬性進行個性化自定義的,但是,在使用起來的過程中有時候會出現交替使用的情況,十分費解,特地學習並總結了一下style和class

2 聯繫和區別

先上結論:

2.1 聯繫

  1. class和style都是對標籤的屬性進行個性化設置,常見的屬性及使用見本文的第三節
  2. class可以說是可複用的style的集合

2.2 區別

  1. class一般是定義在css(層疊樣式表)文件裏的,同類型的標籤可以對css文件中的class進行復用;而style一般都是
  2. class除了可以當作style集合使用以外,還可以使用純css實現動畫效果
  3. class定義時一般是針對某個標籤類定義其對應的class,具有一定的針對行,比如"div.myClass{……}"而style一般是現定義現用,且不會複用,定義的時候不會有針對性,直接```style=“xxxxxx”````就完事了
  4. style和class同時對標籤的某些屬性進行了個性化時,style中的屬性設置優先使用。
    舉個例子說明style和class的區別和聯繫
    class所在的層疊樣式表文件,style.css
/*
在樣式表裏面裏面,針對div標籤,定義一個的divClass樣式類
*/
div.divClass{
border-top: red 1px solid;
}

/*
一個通用的樣式
 */
.universalClass{
  border-top: red 1px solid;
}

原生html靜態頁面,test.html

<html>
<!--導入樣式表-->
<link rel="stylesheet" type="text/css" href="style.css" />
<!--分別使用class和style實現同div上的同一個樣式-->
<div id="div1" style="border-top: red 1px solid;">
<div id="div2" class="divClass">
<span class="divClass">嘗試對span加載div的樣式表,並不起作用</span>
<hr>
<span class="universalClass">嘗試對span加載通用樣式表</span>
<div class="universalClass">嘗試對div加載div的樣式表</div>
</html>

最終,上邊的兩個div的樣式是相同的,兩種個性化的內容是相同的。

3 style常見屬性及實踐

<strong>開始嘗試一些常用的樣式屬性</strong>
<div style="width:200px;height:100px;background-color:green;">
  寬度width<br>
  高度height<br>
  背景色background-color
</div>
<hr>
<div style="border:black 1px solid;width:500px;height:200px;">父容器
  <div style="margin:5px 10px 20px 30px;width:100px; height:100px;background-color:red;">
  </div>
</div>
<span>
  margin:後面跟有四個距離分別爲到父容器的上-右-下-左邊的距離,可以看例子中的紅色子div到父div的描邊距離。<br>
  還可以分別設置這四個邊的距離,用到的屬性如下:<br>
  margin-left:到父容器左邊框的距離。<br>
  margin-right:到父容器右邊框的距離。<br>
  margin-top: 到父容器上邊框的距離。<br>
  margin-bottom:到父容器下邊框的距離。
</span>

效果如下:
實際效果
更多的常見屬性和實踐代碼,可參考https://blog.csdn.net/qq_38211852/article/details/80290516

4 總結

class可以說是可複用的style的集合(但功能不僅於此);不指明對應組件/標籤類型的樣式類具有通用性,否則無法使用(改變標籤對應的屬性值),就算有對應的屬性也無法使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章