zoukankan      html  css  js  c++  java
  • css知识笔记:水平居中(别只看,请实操!!!)

    css实现元素的水平居中。

    (尝试采用5W2H方法说明):

    别只看,请实操!!!

    What:

    1.这篇文档主要描述元素水平方向居中的几种最常见和最实用的几种方式,并说明优缺点。
    2.写这篇文章的目的,是为了巩固自己的知识,也分享给大家一起学习研究,欢迎大家指正和评论。
    

    Why:

    需要水平居中的原因,就是为了让元素位于视觉中心突出重点,可视化布局的简介明了,主题明确,提高用户体验度。
    

    When:

    我是星期六下午开始编写,一直到晚上12点。
    对于你自己,如果你感觉自己对这些掌握还不牢靠,请立刻!马上!Now!开始动手尝试起来,不然一开始就浇灭你的小火苗,让你丧失了激情和男人该有的冲动。
    

    Where:

    学习的场所可以是anywhere;咖啡厅、家里、饭店、火车上(我就是在高铁上码的文章),不必拘泥场所,只要不冷能动手就做起来。
    

    Who:

    针对人员比如像我这种遗忘型、刚入门的初学者、以及在css懵懂过程中徘徊的你,大神请绕路或留个脚印踩踩也行。
    我,一个大老爷们,没啥好说的;你们,一群智商200+,给个支点就能撬动地球的你们,动动手指你们就全学会了。
    

    How Long:

    你要问我学懂这个大概多长时间,以大家高达200+赶超爱因斯坦的智商,说半天就能搞懂我都感觉是瞧不起大家,以各位看官的智商,半个小时,顶多半个小时,你就能掌握。
    

    How:

    请忽略以上的部分废话,以下的怎么做才是重点:

    行内元素居中方式:

     <div style="text-align:center;">
          <label>行内元素label水平居中:父级style:"text-align:center"</label>
     </div>
    

    块级元素居中方式:

    1.width固定 + margin:0 auto

    <div class="horizontal1">块级元素div居中:width固定 + margin:0 auto</div>
    
    .horizontal1 {
      height: 50px;
       400px;
      margin: 0 auto;
      border: 1px solid red;
    }
    

    2.display:table;margin:0 auto

    <p class="horizontal3">块级元素居p水平居中:display:table;margin:0 auto</p>
    
    .horizontal3 {
      height: 50px;
      display: table;
      margin: 0 auto;
      border: 1px solid red;
    }
    

    3.flex布局:display:flex;justify-content:center;

    <li class="horizontal2">块级元素居li水平居中:display:flex;justify-content:center;</li>
    
    .horizontal2 {
      display: flex;
      justify-content: center;
      border: 1px solid red;
    }
    

    4.position:absolute;left:50%;transform:translateX(-50%);

     <div style="border:1px solid blue;height:50px;">
        <div style="position:absolute;left:50%;transform:translateX(-50%);border:1px solid red;height:50px;" >
           绝对定位水平居中:position:absolute;left:50%;transform:translateX(-50%);</div>
    </div>
    

    5.position:absolute;固定;margin:0 auto;left:0;right:0;

        <div style="border:1px solid blue;height:50px;">
          <div
            style="position:absolute;left:0;right:0;400px;margin:0 auto;border:1px solid red;"
          >绝对定位水平居中:position:absolute;固定;margin:0 auto;left:0;right:0;</div>
        </div>
    

    6.position:absolute;固定;left:50%;margin-left:-0.5*宽度;

        <div style="border:1px solid blue;height:50px;">
          <div
            style="position:absolute;400px;left:50%;margin-left:-200px;border:1px solid blue;height:50px;"
          >绝对定位水平居中:position:absolute;固定;left:50%;margin-left:-0.5*宽度;</div>
        </div>
    

    参考文献

    [1] (https://louiszhai.github.io/2016/03/12/css-center/)

    结后语:

    兄dei,实操吧!
    不然做起来只看感觉都看懂了,一关闭我的文章就:嗯?水平居中都哪几种方式来着?再次打开看了之后回想:嗯?水平居中这几种方式都会有什么问题或优缺点?
    看的时候都会以为看懂了:这不是很简单吗?
    做的时候都突然感觉自己是个麻瓜:我去!这么简单怎么布局就不对呢?哪影响了?调好之后,咦~,怎么突然就好了呢?
    所以,

    别只看,请实操!!!

  • 相关阅读:
    Android中 requestCode与resultCode的区别与用法
    Activity与Fragment之间的通信
    关于解决 从相册中选择照片后无法剪切图片以及无法加载图片的问题
    Codeforces Round #313 (Div. 2) C. Geralds Hexagon
    HDU 2669 Romantic
    HDU 1405 The Last Practice
    HDU Wolf and Rabbit
    LightOJ 1104 Birthday Paradox
    11181
    Tr A
  • 原文地址:https://www.cnblogs.com/M-Silencer/p/11973155.html
Copyright © 2011-2022 走看看