整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          css之div內容居中

          iv中的內容居中顯示,包括水平和垂直2個方向。

          <html>
          <head>
              <style type="text/css">
                  .box{
                      height:400px;
                      width:600px;
                      background-color: #f2dede;
                      display: flex;
                      flex-direction: row;
                      align-items: center;
                      justify-content: center;
                  }
              </style>
          </head>
          <body>
          <div class="box">
              <div style="background-color: #00a4e6">居中</div>
              <div style="background-color: #00b33c">居中</div>
          </div>
          </body>
          </html>

          說明:

          align-items:center,控制垂直方向

          justify-content:center,控制水平方向

          彈性布局介紹:

          Flex 彈性盒子布局是很強大的布局,它可以很方便的控制元素在垂直和水平方向上的行為。

          使用display:flex

          主軸和交叉軸

          容器存在兩個軸,水平叫主軸(Main-Axis),垂直叫交叉軸(Cross-Axis)。主軸左邊是開始位置(main start)右邊是結束位置(main end),交叉軸上是開始位置(cross start)下是結束位置(cross end)。用 justify 屬性控制主軸項目的空隙,使用 align 屬性控制交叉軸項目之間的垂直行為。

          容器一共有 6 個屬性:

          flex-direction

          flex-wrap

          flex-flow

          justify-content

          align-items

          align-content

          #記錄我的2024#

          文翻譯自 How to Center a Div Using CSS Grid,作者:Fimber Elemuwa, Ralph Mason。 略有刪改

          在本文中,我們將介紹使用CSS Grid在水平和垂直方向上居中div的五種方法,當然這些技術可用于任何類型的元素。

          初始化

          我們首先創建一個容器,其中包含一個簡單的div元素,我們將使用它來演示這些居中方法。下面是HTML:

          <article>
            <div></div>
          </article>
          

          下面是我們的初始CSS:

          article {
            width: 100%;
            min-height: 100vh;
            background: black;
            display: grid;
          }
          
          div {
            width: 200px;
            background: yellow;
            height: 100px;
          }
          

          在下面所有的例子中,我們將使用display: grid屬性。這將<article>元素建立為網格容器,并為該容器生成塊級網格。我們已經將網格容器設置為寬(width: 100%)和高(min-height: 100vw),這樣我們的div就有足夠的空間在其中移動。

          接下來讓我們來看看將div居中的各種方法。

          1.使用 CSS Grid 和 place-self 將Div居中

          place-self屬性提供了一種簡單的方法來水平和垂直居中網格項。它用于將網格項置于其網格單元格的中心。

          將div居中就像這樣簡單:

          article {
            display: grid;
          }
          
          div {
            place-self: center;
          }
          

          place-self屬性是justify-self(水平)和align-self(垂直)屬性的簡寫。

          使用place-self對于在網格內居中單個項目特別有用,因為它使其他網格項目可以自由地以不同的方式定位。但這并不是使用Grid使元素居中的唯一方法,繼續看看其他的一些方法。

          2.使用 CSS Grid 和 place-items 居中Div

          place-items屬性是justify-items(水平)和align-items(垂直)的簡寫。這些屬性應用于網格容器而不是每個網格項,當我們希望所有網格項具有相同的位置時,這些屬性非常有用。

          將以下CSS代碼添加到父容器:

          article {
            display: grid;
            place-items: center;
          }
          

          我們可以基于初始代碼添加更多的div元素,看看會發生什么。結果是每個div將在其網格單元格內水平和垂直居中,如下圖所示(通過瀏覽器的網格檢查器)。

          3.使用 place-content 居中Div

          place-content屬性是justify-content(水平)和align-content(垂直)的簡寫。雖然place-selfplace-items控制網格項如何放置在其指定的網格單元格中,但place-content指定網格容器的整個內容應如何對齊(即,所有網格項被視為一個組)。在我們的演示中,只有一個網格項(我們的單個黃色div),因此我們也可以使用place-content將其置于其容器的中心。

          將以下CSS代碼添加到父容器:

          article {
            display: grid;
            place-content: center;
          }
          

          這里有幾點需要注意。到目前為止,在所有的例子中我們都使用了center的值。但是到目前為止,我們已經探索的每個屬性都有各種其他的放置物品的值。place-content有很多值,另外兩個值也可以用于居中我們的div:space-aroundspace-evenly

          此外,在我們的簡單例子中,一個div在容器中居中,我們甚至可以混合和匹配我們上面看到的屬性。我們可以使用justify-contentalign-items來居中div,有興趣的可以嘗試看看。

          4.使用 CSS Grid 和 Auto Margins 居中

          像往常一樣,我們將使用display: grid來定位父容器。我們還將使用margin: auto為div指定自動邊距。這使瀏覽器自動計算div周圍的可用空間,并在其網格單元格內垂直和水平劃分,將div放置在中間:

          article {
            display: grid;
          }
          
          div {
            margin: auto;
          }
          

          5.使用 CSS Grid 網格區域居中div

          最后一個方法我們將深入探討Grid布局的強大功能,因為我們將研究兩種方法來將div居中放置在具有多行和多列的網格中。

          以下是我們的基本CSS:

          article {
            display: grid;
            grid-template-columns: 1fr 200px 1fr;
            grid-template-rows: 1fr 100px 1fr;
          }
          
          div {
            background: yellow;
            grid-column: 2;
            grid-row: 2;
          }
          

          我們顯式地布局了一個網格,中間有一個區域來放置我們的div。我們現在甚至不需要在div上設置尺寸,因為網格軌跡會處理這個問題。我們在網格的中間指定一個網格單元格,其寬度為200px,高度為100px,然后我們告訴div從第二條網格線和第二條行線開始。(默認情況下,它將僅跨到每個方向上的下一條軸網線。)div元素被很好地放置在其容器的中心,如下所示。

          下圖顯示了位于其網格軌跡內的div。

          網格布局提供了各種不同的方法來實現這一結果。最后我們做與上面相同的事情,但這次為我們的div使用一個命名區域:

          article {
            display: grid;
            grid-template-columns: 1fr 200px 1fr;
            grid-template-rows: 1fr 100px 1fr;
            grid-template-areas: ".  .  ."
                                 ". box ."
                                 ".  .  .";
          }
          
          div {
            background: yellow;
            grid-area: box;
          }
          

          在這里,我們設置一個名為grid-area的box,然后描述它應該位于網格上的什么位置,用一個簡單的點(.)指定哪些網格單元格是空的。

          這種布局方法的優點是,它可以很容易地將許多其他元素放置在我們想要的任何地方,這就是網格布局的強大之處。

          結論

          這些方法中的每一個都允許我們在容器中水平和垂直地居中一個div。place-selfmargin: auto選項很好,因為它們直接應用于居中的元素,而不是其容器。但是本文中介紹的所有方法都是高效的,并且可以很好地完成這項工作。在各種場景中,我們可能希望將元素置于中心,因此擁有一系列工具來實現該目標非常重要。

          在演示示例中,我們只是使用了一個空的div,但是當然我們可以向div添加內容,居中仍然有效。而且這些居中技術同樣適用于div以外的元素。

          最后

          有興趣的可以看看原文,可以在線體驗不同顏色格式是如何工作的。看完本文如果覺得有用,記得點個贊支持,收藏起來說不定哪天就用上啦~

          專注前端開發,分享前端相關技術干貨,公眾號:南城大前端(ID: nanchengfe)

          、HTML 塊元素

          • 大多數 HTML 元素被定義為塊級元素或內聯元素;
          • 元素在瀏覽器顯示時,通常會以新行來開始和結束;
          • 如:<h1>,<p>,<ul>,<table>,<div>等標簽;

          二、HTML 內聯元素

          • 內聯元素在顯示時通常不會以新行開始;
          • 如:<b>, <td>, <a>, <img>,<span>等標簽;

          三、HTML <div> 元素

          • HTML 中的<div> 元素是塊級元素,它是可用于組合其他 HTML 元素的容器;
          • <div> 標簽定義 HTML 文檔中的一個分隔區塊或者一個區域部分;
          • <div> 元素經常與 CSS 一起使用,用來布局網頁;

          四、div的使用

          <!doctype html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>無標題文檔</title>
          </head>
          <style>
           .all{
           width:500px;
           height:500px;
           margin:0 auto;
           background-color:#000;
           }
           .one{
           height:100px;
           background-color:#89E1BF;
           }
           .two{
           height:100px;
           background-color:#DEE099;
           }
           .three{
           height:100px;
           background-color:#D7A1CE;
           }
           
          </style>
          <body>
           <!--父div,all是黑色-->
           <div class="all">
           <!--子div,one是綠色-->
           <div class="one">
           </div>
           <!--子divtwo,是黃色-->
           <div class="two">
           </div>
           <!--子div,three是紫色-->
           <div class="three">
           </div>
           </div>
          </body>
          </html>
          

          演示效果如圖所示:


          主站蜘蛛池模板: 亚洲av无码一区二区三区在线播放| 一区二区三区日韩精品| 亚洲一区二区三区偷拍女厕| 一区二区三区视频免费观看| 中文激情在线一区二区| 无码人妻精品一区二区三区不卡 | 日本精品一区二区三区在线观看| 国产自产在线视频一区| 精品无人乱码一区二区三区| 日本在线视频一区| 亚洲乱码一区二区三区国产精品| AV无码精品一区二区三区| 国产aⅴ一区二区三区| 少妇精品无码一区二区三区| 波多野结衣中文一区二区免费| 熟女少妇精品一区二区| 精品无码国产AV一区二区三区 | 乱色熟女综合一区二区三区| 日韩精品一区二区三区中文精品 | 无码AV动漫精品一区二区免费| 亚洲韩国精品无码一区二区三区| 日韩精品免费一区二区三区| 亚洲AV无码一区东京热久久| 一区精品麻豆入口| 亚洲AV网一区二区三区| 色欲精品国产一区二区三区AV| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲AV成人一区二区三区在线看| 国产福利日本一区二区三区| 国产精品美女一区二区视频| 亚洲AV无码一区二区三区国产| 国产视频福利一区| 人妻少妇精品视频三区二区一区| 精品日韩亚洲AV无码一区二区三区| 国产91精品一区二区麻豆亚洲| 日本一区午夜爱爱| 免费国产在线精品一区| 日韩A无码AV一区二区三区| 日本高清天码一区在线播放| 国产精品无码一区二区三区免费 | 台湾无码AV一区二区三区|