l14107cb 发表于 2024-6-30 05:53:32

CSS的垂直居中和水平居中


    <h2 style="color: black; text-align: left; margin-bottom: 10px;">前言</h2>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">总括:</strong> CSS居中<span style="color: black;">始终</span>是一个比较<span style="color: black;">敏锐</span>的<span style="color: black;">专题</span>,为了以后<span style="color: black;">研发</span>的方便,楼主觉得确实<span style="color: black;">必须</span>总结一下了,总的<span style="color: black;">来讲</span>,居中问题分为垂直居中和水平居中,<span style="color: black;">实质</span>上水平居中是很简单的,但垂直居中的方式和<span style="color: black;">办法</span>就千奇百怪了。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">原文<span style="color: black;">位置</span>:<a style="color: black;">CSS居中小谈</a></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">知乎专栏&amp;&amp;简书专题:<a style="color: black;">前端进击者(知乎)</a>&amp;&amp;<a style="color: black;">前端进击者(简书)</a></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">博主博客<span style="color: black;">位置</span>:<a style="color: black;">D</a>amonare的个人博客</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">人生用物,各有天限;夏涝太多,必有秋旱。</strong></p>
    <h2 style="color: black; text-align: left; margin-bottom: 10px;">正文</h2>
    <h3 style="color: black; text-align: left; margin-bottom: 10px;">内联元素居中<span style="color: black;">方法</span></h3>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">水平居中设置:</strong></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">行内元素 设置 text-align:center;</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">Flex布局 设置display:flex;justify-content:center;(灵活运用)</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">垂直居中设置:</strong></p>父元素高度确定的单行文本(内联元素) 设置 height = line-height;<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">父元素高度确定的多行文本(内联元素) a:<span style="color: black;">插进</span> table (<span style="color: black;">插进</span><span style="color: black;">办法</span>和水平居中<span style="color: black;">同样</span>),<span style="color: black;">而后</span>设置 vertical-align:middle; b:先设置 display:table-cell 再设置 vertical-align:middle;</p>
    <h2 style="color: black; text-align: left; margin-bottom: 10px;">块级元素居中<span style="color: black;">方法</span></h2>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">水平居中设置:</strong></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">定宽块状元素 设置 <span style="color: black;">上下</span> margin 值为 auto;</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">不定宽块状元素 a:在元素外加入 table 标签(完整的,<span style="color: black;">包含</span> table、tbody、tr、td),该元素写在 td 内,<span style="color: black;">而后</span>设置 margin 的值为 auto; b:给该元素设置 display:inine <span style="color: black;">办法</span>; c:父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left:50%;</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;">垂直居中设置:</strong></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">1.<span style="color: black;">运用</span>position:absolute(fixed),设置left、top、margin-left、margin-top的属性;</p>
    <div style="color: black; text-align: left; margin-bottom: 10px;">.box{
      position:absolute;/*或fixed*/
      top:50%;
      left:50%;
      margin-top:-100px;
      margin-left:-200px;
      }</div>2.利用position:fixed(absolute)属性,margin:auto这个<span style="color: black;">必要</span>不要忘记了;<div style="color: black; text-align: left; margin-bottom: 10px;">.box{
      position: absolute;或fixed
      top:0;
      right:0;
      bottom:0;
      left:0;
      margin: auto;
      }</div>3.利用display:table-cell属性使内容垂直居中,这个<span style="color: black;">办法</span>在多行文字居中的时候用的比较多;<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">HTML代码:</p>
    <div style="color: black; text-align: left; margin-bottom: 10px;">&lt;div class="box"&gt;
      &lt;span&gt;多行文字,此处居中设置&lt;/span&gt;
      &lt;/div&gt;</div>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">CSS代码:</p>
    <div style="color: black; text-align: left; margin-bottom: 10px;">.box{
      display:table-cell;
      vertical-align:middle;
      text-align:center;
      width:100px;
      height:120px;
      bac<span style="color: black;">公斤</span>round:purple;
      }
      .box span{
      display: inline-block;
      vertical-align: middle;
      }</div>4.<span style="color: black;">运用</span>css3的新属性transform:translate(x,y)属性;<div style="color: black; text-align: left; margin-bottom: 10px;">.box{
      position: absolute;
      top:50%;
      left:50%;
      transform: translate(-50%,-50%);
      -webkit-transform:translate(-50%,-50%);
      -moz-transform:translate(-50%,-50%);
      -ms-transform:translate(-50%,-50%);
      }</div>5.最<span style="color: black;">高挑</span>上的一种,<span style="color: black;">运用</span>before,after伪元素;<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">HTML代码:</p>
    <div style="color: black; text-align: left; margin-bottom: 10px;">&lt;div class=box&gt;
      &lt;div</div>




流星的美 发表于 2024-8-20 22:09:49

太棒了、厉害、为你打call、点赞、非常精彩等。

4zhvml8 发表于 2024-10-10 15:42:26

“NB”(牛×的缩写,表示叹为观止)‌

j8typz 发表于 2024-10-28 16:07:01

楼主果然英明!不得不赞美你一下!
页: [1]
查看完整版本: CSS的垂直居中和水平居中