JavaScript >> Javascript 文檔 >  >> Tags >> CSS

MicroTut:CSS 定位的工作原理

毫無疑問,位置 屬性是設計師在他們的 CSS 工具箱中擁有的最有用的工具之一。但是,有一些關於定位的概念可能會讓初學者感到困惑。

首先,什麼是定位?

當您的瀏覽器打開網頁時,它會按照元素(div、段落、標題等)在頁面的 HTML 標記中出現的順序開始渲染元素。定位是一種組織元素顯示方式的自然方式,也是一種輕鬆解決重疊等情況的方法。定位有四種類型:靜態 , 相對 , 絕對固定 .

元素默認是靜態定位的

默認定位,隱式應用於頁面上的每個元素,是 static .靜態定位意味著每個元素都按照它添加到頁面的自然順序進行定位。塊狀元素顯示在其他塊狀元素下方,內聯元素顯示在其他內聯元素旁邊。

相對定位

將定位設置為相對本身不會對元素在頁面上的顯示方式產生任何明顯的差異。但是您現在可以使用 top 將其從正常位置移動 , , 底部 CSS 屬性。這在處理需要偏移元素但不將其錨定到頁面上指定位置的情況時非常方便。

.relativeDiv{

    /*
        Moving the div to the top-left
        from where it would normally show:
     */

    position:relative;
    top:-50px;
    left:-100px;
}

固定定位

添加位置:固定 到元素的 CSS 聲明,將其相對於瀏覽器窗口定位。這允許您顯示工具欄、按鈕或導航菜單,它們錨定在固定位置並隨頁面滾動。

.fixedDiv{

    /*
        Fixing the div 20 px from the bottom
        of the browser window:
     */

    position:fixed;
    right:20px;
    bottom:20px;
}

可能唯一的缺點是這種定位在 IE6 等舊瀏覽器中不受支持,如果您無法承受放棄對這些支持的奢侈。

絕對定位

相對於文檔,一個絕對定位的元素顯示在頁面上 , 或 定位不同於靜態的父元素 .這樣,使用 top , , 底部 CSS 屬性,可以指定準確的位置。這也使您能夠將 div 水平和垂直居中,我們在“將 div 水平和垂直居中”中討論過 微圖。

.parentDiv{

    /* Absolute and Fixed positioning would work as well: */

    position:relative;
}
.absoluteDiv{

    /*
        Displaying the div 50px from the right and 90px from
        the top of its parent because of the explicit positioning
     */

    position:absolute;
    right:50px;
    top:90px;
}

好處

使用這些定位屬性,您可以實現各種高級頁面佈局,這將使您的設計更上一層樓。結合 z-index 屬性,您可以更改適用於元素的默認覆蓋規則(代碼中稍後出現的元素顯示在前面的元素上方)。

您對定位屬性做過的最酷的設計是什麼?在下面的評論部分吹噓。


Tutorial JavaScript 教程
  1. 在頁面加載/路由更改時反應進度條(Next js 和 CRA)

  2. 用於 iframe 嵌入的 YouTube Player API 僅適用於靜音內容

  3. 人們怎麼沒有意識到開發人員是有創造力的?!請允許我演示。

  4. LeetCode - 反向鍊錶 II

  5. 使用 ngx-spinner 在 Angular 應用程序中添加微調器

  6. 隨機顏色生成器博覽會應用程序

  7. NBA API

  1. 為什麼“數字”使“否則如果”在這裡起作用?

  2. JavaScript 中的歷史對象 | API

  3. 為我的 GitHub 操作編寫測試

  4. ES6 中的箭頭函數

  5. 我的頁面是從瀏覽器緩存加載的嗎?

  6. 10 個 JavaScript 數組方法來簡化你的代碼。

  7. 2022 年 10 多個 Bootstrap 管理模板

  1. 在 Web Worker 中使用 Elm

  2. 下一個網站項目的網頁設計最佳實踐

  3. 創建一個簡單的 Chrome 擴展程序

  4. 繞過您的全局 npm 註冊表以獲取單個 repo