Jun瘋自學

CSS如何置中Center文字、圖片、Div、Div裡頭的文字呢?

1、文字置中
2、Div裡頭的文字置中
3、Div裡頭的小div 置中以及小div的文字置中
4、圖片置中
5、Div 裡頭的圖片置中

<!doctype html>
<html lang="zh-Hant-TW">

<head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>玩置中</title>
   <style>
     h1 {
         /* 方法一 */(暴力方式)
         position: absolute;
         top: 50%;
         left: 50%;
         transform: rtanslate(-50%, -50%);
         /* 方法二 */
         text-align: center;
         line-height: 800px; /* 與上方的距離 */
         /* 方法三 */(不推薦此方式)
         display: flex;
         justify-content: center;
         align-items: center;
         line-height: 800px;
     }

     .container {
         width: 500px;
         height: 500px;
         background-color: lightgreen;
         /* 區塊div 置中 方法1 */(暴力方式)
         position: absolute;
         top: 50%;
         left: 50%;
         transform: rtanslate(-50%, -50%);
         /* 區塊div 置中 方法2 */
         display: block;
         margin-left: auto;
         margin-right: auto;
         margin-top: 100px; /* 根據前一個物件位置往下置中 */

         /* 區塊div裡頭的文字置中 方法1 */
         text-align: center;
         line-height: 500px;
         /* 區塊div裡頭的文字置中 方法2 */ /* 當div裡頭有東西時,可以用flexbox */
         display: flex;
         justify-content: center;
         align-items: center;
    }

    .container2 {
         width: 400px;
         height: 400px;
         background-color: rgb(249, 183, 1);
         opacity: 0.5; (增加透明度)
         /* 區塊置中 */ (單純區塊可使用)
         position: absolute;
         top: 50%;
         left: 50%;
         transform: rtanslate(-50%, -50%);
         /* 在區塊裡頭的東西要置中,使用flex */ (區塊、文字、圖片都可以使用)
         display: flex;
         justify-content: center;
         align-items: center;
         gap: 10px; (增加間距)
     }

     .box {
         width: 100px;
         height: 100px;
         background-color: rgb(61, 155, 255);
         /* 小box裡頭文字置中 */
         display: flex;
         justify-content: center;
         align-items: center;
     }

     .img1 {
         width: 200px;
         height: 140px;
         /* 方法一 */ (暴力方式)
         position: absolute;
         top: 50%;
         left: 50%;
         transform: rtanslate(-50%, -50%);
         /* 方法二 */ (此方法只適合水平的置中)
         display: block;
         margin-left: auto;
         margin-right: auto;
         margin-top: 0px;
     }

     .container3 {
         width: 300px;
         height: 300px;
         background-color: rgb(249, 1, 208);
         opacity: 0.5; (增加透明度)
         /* 區塊置中 */ (單純區塊可使用)
         position: absolute;
         top: 50%;
         left: 50%;
         transform: rtanslate(-50%, -50%);
         /* 在區塊裡頭的東西要置中,使用flex */ (區塊、文字、圖片都可以使用)
         display: flex;
         justify-content: center;
         align-items: center;
     }

     .img2 {
         width: 200px;
         height: 140px;
     }
   </style>
</head>

<body>
   <!-- 置中文字 -->
   <h1>置中文字</h1>

   <!-- 置中DIV 裡頭的文字 -->
   <div class="container">
      <h2>在div裡頭的文字</h2>
   </div>

   <!-- 置中DIV 裡頭的區塊 -->
   <div class="container2">
      <div class="box">
         abc
      </div>
      <div class="box">
         abc
      </div>
      <div class="box">
         abc
      </div>
   </div>

   <img class="img1" src="xxx.jpg">

   <!-- 圖片在div裡頭的置中 -->
   <div class="container3">
      <img class="img2" src="xxx.jpg">
   </div>
</body>

</html>

總結:

1.區塊、物件:position
2.區塊裡的文字、圖片、物件,可以用:flex

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *