qzmjef 发表于 2024-6-30 05:17:23

CSS常用九种方式实现垂直居中


    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">倘若</span> .parent 的 height 不写,你只<span style="color: black;">必须</span> padding: 10px 0; 就能将 .child 垂直居中;</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">倘若</span> .parent 的 height 写死了,就很难把 .child 居中,以下是垂直居中的<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>:能不写 height 就千万别写 height。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">以下的<span style="color: black;">办法</span>都围绕着该HTML展开</p>
    <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;"><span style="color: black;">&lt;</span><span style="color: black;">div</span> <span style="color: black;">class</span><span style="color: black;">=</span><span style="color: black;">"parent"</span><span style="color: black;">&gt;</span>

      <span style="color: black;">&lt;</span><span style="color: black;">div</span> <span style="color: black;">class</span><span style="color: black;">=</span><span style="color: black;">"child"</span><span style="color: black;">&gt;</span>
      垂直居中

      <span style="color: black;">&lt;/</span><span style="color: black;">div</span><span style="color: black;">&gt;</span>
      <span style="color: black;">&lt;/</span><span style="color: black;">div</span><span style="color: black;">&gt;</span>
    </div>
    <h3 style="color: black; text-align: left; margin-bottom: 10px;">1、table自带功能</h3>
    <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;"><span style="color: black;">.</span><span style="color: black;">parent</span><span style="color: black;">{</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">red</span><span style="color: black;">;</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">600</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>

      <span style="color: black;">.</span><span style="color: black;">child</span><span style="color: black;">{</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">green</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
    </div>
    <h3 style="color: black; text-align: left; margin-bottom: 10px;">2、absolute + 负margin</h3>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><span style="color: black;">.</span><span style="color: black;">parent</span><span style="color: black;">{</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">600</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">red</span><span style="color: black;">;</span>
      <span style="color: black;">position</span><span style="color: black;">:</span> <span style="color: black;">relative</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
      <span style="color: black;">.</span><span style="color: black;">child</span><span style="color: black;">{</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">green</span><span style="color: black;">;</span>
      <span style="color: black;">width</span><span style="color: black;">:</span> <span style="color: black;">300</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">position</span><span style="color: black;">:</span> <span style="color: black;">absolute</span><span style="color: black;">;</span>
      <span style="color: black;">top</span><span style="color: black;">:</span> <span style="color: black;">50</span><span style="color: black;">%</span><span style="color: black;">;</span>
      <span style="color: black;">left</span><span style="color: black;">:</span> <span style="color: black;">50</span><span style="color: black;">%</span><span style="color: black;">;</span>
      <span style="color: black;">margin-left</span><span style="color: black;">:</span> <span style="color: black;">-150</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">margin-top</span><span style="color: black;">:</span> <span style="color: black;">-50</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
    </div>
    <h3 style="color: black; text-align: left; margin-bottom: 10px;">3、absolute + translate(-50%,-50%)</h3>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><span style="color: black;">.</span><span style="color: black;">parent</span><span style="color: black;">{</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">600</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">red</span><span style="color: black;">;</span>
      <span style="color: black;">position</span><span style="color: black;">:</span> <span style="color: black;">relative</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
      <span style="color: black;">.</span><span style="color: black;">child</span><span style="color: black;">{</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">green</span><span style="color: black;">;</span>
      <span style="color: black;">position</span><span style="color: black;">:</span> <span style="color: black;">absolute</span><span style="color: black;">;</span>
      <span style="color: black;">top</span><span style="color: black;">:</span> <span style="color: black;">50</span><span style="color: black;">%</span><span style="color: black;">;</span>
      <span style="color: black;">left</span><span style="color: black;">:</span> <span style="color: black;">50</span><span style="color: black;">%</span><span style="color: black;">;</span>
      <span style="color: black;">transform</span><span style="color: black;">:</span> <span style="color: black;">translate</span><span style="color: black;">(</span><span style="color: black;">-50</span><span style="color: black;">%</span><span style="color: black;">,</span><span style="color: black;">-50</span><span style="color: black;">%</span><span style="color: black;">);</span>
      <span style="color: black;">}</span>
    </div>
    <h3 style="color: black; text-align: left; margin-bottom: 10px;">4、absolute; + margin: auto;</h3>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><span style="color: black;">.</span><span style="color: black;">parent</span><span style="color: black;">{</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">600</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">red</span><span style="color: black;">;</span>
      <span style="color: black;">position</span><span style="color: black;">:</span> <span style="color: black;">relative</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
      <span style="color: black;">.</span><span style="color: black;">child</span><span style="color: black;">{</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">green</span><span style="color: black;">;</span>
      <span style="color: black;">position</span><span style="color: black;">:</span> <span style="color: black;">absolute</span><span style="color: black;">;</span>
      <span style="color: black;">width</span><span style="color: black;">:</span> <span style="color: black;">300</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">200</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">margin</span><span style="color: black;">:</span> <span style="color: black;">auto</span><span style="color: black;">;</span>
      <span style="color: black;">top</span><span style="color: black;">:</span> <span style="color: black;">0</span><span style="color: black;">;</span>
      <span style="color: black;">bottom</span><span style="color: black;">:</span> <span style="color: black;">0</span><span style="color: black;">;</span>
      <span style="color: black;">left</span><span style="color: black;">:</span> <span style="color: black;">0</span><span style="color: black;">;</span>
      <span style="color: black;">right</span><span style="color: black;">:</span> <span style="color: black;">0</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
    </div>
    <h3 style="color: black; text-align: left; margin-bottom: 10px;">5、display: flex; </h3>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><span style="color: black;">.</span><span style="color: black;">parent</span><span style="color: black;">{</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">600</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">3</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">red</span><span style="color: black;">;</span>
      <span style="color: black;">display</span><span style="color: black;">:</span> <span style="color: black;">flex</span><span style="color: black;">;</span>
      <span style="color: black;">justify-content</span><span style="color: black;">:</span> <span style="color: black;">center</span><span style="color: black;">;</span>
      <span style="color: black;">align-items</span><span style="color: black;">:</span> <span style="color: black;">center</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
      <span style="color: black;">.</span><span style="color: black;">child</span><span style="color: black;">{</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">3</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">green</span><span style="color: black;">;</span>
      <span style="color: black;">width</span><span style="color: black;">:</span> <span style="color: black;">300</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
    </div>
    <h3 style="color: black; text-align: left; margin-bottom: 10px;">6、inline-block+vertical-aligin</h3>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">必定</span>要设置行高,否则不生效</p>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><span style="color: black;">.</span><span style="color: black;">parent</span><span style="color: black;">{</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">600</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">3</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">red</span><span style="color: black;">;</span>
      <span style="color: black;">text-align</span><span style="color: black;">:</span><span style="color: black;">center</span><span style="color: black;">;</span>
      <span style="color: black;">line-height</span><span style="color: black;">:</span><span style="color: black;">600</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
      <span style="color: black;">.</span><span style="color: black;">child</span><span style="color: black;">{</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">3</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">green</span><span style="color: black;">;</span>
      <span style="color: black;">width</span><span style="color: black;">:</span> <span style="color: black;">300</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">line-height</span><span style="color: black;">:</span><span style="color: black;">100</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">display</span><span style="color: black;">:</span><span style="color: black;">inline</span><span style="color: black;">-</span><span style="color: black;">block</span><span style="color: black;">;</span>
      <span style="color: black;">vertical-align</span><span style="color: black;">:</span><span style="color: black;">middle</span><span style="color: black;">;</span>
      <span style="color: black;">}</span>
    </div>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">7、table-cell</p>
    <div style="color: black; text-align: left; margin-bottom: 10px;">vertical-align 属性设置一个元素的垂直对齐方式。
      该属性定义行内元素的基线相<span style="color: black;">针对</span>该元素所在行的基线的垂直对齐。
      <span style="color: black;">准许</span>指定负长度值和百分比值。这会使元素降低而不是<span style="color: black;">上升</span>。
      在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。
    </div>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><span style="color: black;">.</span><span style="color: black;">parent</span><span style="color: black;">{</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">red</span><span style="color: black;">;</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">600</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">width</span><span style="color: black;">:</span><span style="color: black;">300</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">display</span><span style="color: black;">:</span> <span style="color: black;">table</span><span style="color: black;">-</span><span style="color: black;">cell</span><span style="color: black;">;</span>
      <span style="color: black;">vertical-align</span><span style="color: black;">:</span> <span style="color: black;">middle</span><span style="color: black;">;</span><span style="color: black;">//垂直</span>
      <span style="color: black;">text-align</span><span style="color: black;">:</span><span style="color: black;">center</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;">child</span><span style="color: black;">{</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">200</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">width</span><span style="color: black;">:</span><span style="color: black;">100</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">black</span><span style="color: black;">;</span>
      <span style="color: black;">display</span><span style="color: black;">:</span><span style="color: black;">inline</span><span style="color: black;">-</span><span style="color: black;">block</span><span style="color: black;">;</span>

      <span style="color: black;">}</span>
    </div>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">8、grid网格布局</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><a style="color: black;">参考grid</a></p>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><span style="color: black;">.</span><span style="color: black;">parent</span><span style="color: black;">{</span>
      <span style="color: black;">border</span><span style="color: black;">:</span> <span style="color: black;">1</span><span style="color: black;">px</span> <span style="color: black;">solid</span> <span style="color: black;">red</span><span style="color: black;">;</span>
      <span style="color: black;">height</span><span style="color: black;">:</span> <span style="color: black;">600</span><span style="color: black;">px</span><span style="color: black;">;</span>
      <span style="color: black;">width</span><span style="color: black;">:</span><span style="color: black;">30</span>
    </div>




time 发表于 2024-8-25 00:58:05

外贸B2B平台有哪些?

流星的美 发表于 2024-8-25 02:53:13

论坛的成功是建立在我们诚恳、务实、高效、创新和团结合作基础上,我们要把这种精神传递下去。

情迷布拉格 发表于 2024-9-9 14:08:33

外链发布社区 http://www.fok120.com/

qzmjef 发表于 2024-9-29 13:29:13

论坛外链网http://www.fok120.com/

j8typz 发表于 2024-10-5 05:23:35

你的努力一定会被看见,相信自己,加油。
页: [1]
查看完整版本: CSS常用九种方式实现垂直居中