簡體   English   中英

如何在css中覆蓋位置:絕對?

[英]How to override position : absolute in css?

我有我的頁面頂部的菜單,之后一個div使用標簽a類,如下:

<div class="a">
   Hello!
</div>

a是具有position: absolute;的一般類position: absolute; 在風格上。
我想禁用這個絕對; 由於div內容未完全顯示。 所以我決定使用另一個覆蓋位置設置的類。

<div class="a overridden-a">

我應該為position:設置什么position:.overridden-a{ position: ???? !important } .overridden-a{ position: ???? !important }在我的其他風格中?

更新:我不想要編輯的a類風格,它是常見的,一般的項目。

position的默認值是static

!important的使用不是最佳實踐,應盡可能避免。 相反,要覆蓋 CSS 規則,您需要使用具有更高特異性的選擇器。 試試這個:

.a.overridden-a { 
    position: static;
}

position: relative; 也會達到你的要求。

您將其設置為什么取決於您希望如何顯示它。 有 4 個可能的值(包括您試圖覆蓋的絕對值)。

來自http://www.w3schools.com/css/css_positioning.asp

position: static; 具有位置的元素:靜態; 沒有以任何特殊方式定位; 它始終根據頁面的正常流程進行定位。 這是默認設置。

position: relative; 具有位置的元素:相對; 相對於其正常位置定位。 設置相對定位元素的 top、right、bottom 和 left 屬性會導致它被調整到遠離其正常位置。 其他內容不會被調整以適應元素留下的任何間隙。

position: fixed; 具有位置的元素:固定; 相對於視口定位,這意味着即使頁面滾動它也始終保持在同一位置。 top、right、bottom 和 left 屬性用於定位元素。

position: absolute; 具有位置的元素:絕對; 相對於最近的定位祖先定位(而不是相對於視口定位,如固定)。

嗯,默認情況下它是static ,所以你可以將它設置為 static 。

通過.a聲明之后添加style="position:static"或使用 css 來實現:

.overriden-a{
   position:static;
}

position的默認值是position: static ,所以這可能會起作用:

.overridden-a {
    position: static;
}

您始終可以將 inline-css 與 !important 一起使用。 這將覆蓋任何其他樣式,因為優先級將是第一位。

<div class="a" style="position: static !important">
  Hello!
</div>

.overridden-a { position: static; }

應該這樣做,但前提是你把它放在你的類聲明之后。 如果您的 css 文件結構良好, !important 通常不會經常使用。 另一方面,無論聲明的位置如何,它都用於覆蓋文件中的任何 css 規則。 換句話說,它突出了 css 規則的特殊性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM