zoukankan      html  css  js  c++  java
  • 以前一直设置水平居中,现在我们来讨论一下图片居中的四种小技巧

    • 以前一直设置水平居中,现在我们来讨论一下图片居中的四种小技巧:
      首先原码是这样的
       1  <style type="text/css">
       2         * {
       3             margin: 0;
       4             padding: 0;
       5         }
       6         .box {
       7             width: 200px;
       8             height: 200px;
       9             /* 设置盒子在浏览器中水平居中 */
      10             margin: 50px auto;
      11             border: 1px solid #000;
      12         }
      13         .box .pic {
      14             /* 图片目前在盒子的左上角 */
      15             width: 50px;
      16             height: 50px;
      17         }
      18     </style>
      19 </head>
      20 <body>
      21     <div class="box">
      22         <img class="pic" src="images/slide_01_640x340.jpg" alt="">
      23     </div>
      24 </body>
      25 </html>

      在浏览器中是这样显示的:
      下面有四种方式使图片垂直居中
      方式一:text-align: center;line-height = height; vertical-align: middle (vertical-align只能作用与行内块及表格标签)。设置完这三个属性后,图片即可垂直居中啦,让我们来看一下效果吧!

       1         .box {
       2             width: 200px;
       3             height: 200px;
       4             /* 设置盒子在浏览器中水平居中 */
       5             margin: 50px auto;
       6             border: 1px solid #000;
       7             /* 新加的属性 */
       8             text-align: center;
       9             line-height: 200px;
      10             vertical-align: middle;
      11         }

      浏览器中的图片已经居中啦!但是这种方式不灵活,如果要改动变量的话就会给后面工作增加负担
      方式二:给父盒子中添加一个参照标签 比如<span></span>,代码如下:

       1  .box {
       2              200px;
       3             height: 200px;
       4             /* 设置盒子在浏览器中水平居中 */
       5             margin: 50px auto;
       6             border: 1px solid #000;
       7             text-align: center;            
       8         }
       9         .box .pic {
      10             /* 图片目前在盒子的左上角 */
      11              50px;
      12             height: 50px;
      13         }
      14         .box span {
      15             height: 100%;
      16              0;
      17             display: inline-block;
      18             vertical-align: middle;
      19         }
      20     </style>
      21 </head>
      22 <body>
      23     <div class="box">
      24         <span></span>
      25         <img class="pic" src="images/slide_01_640x340.jpg" alt="">
      26     </div>
      27 </body>

      方式三:给父元素加伪元素::before或::after  原理同方式二   看代码:

       1  <style type="text/css">
       2         * {
       3             margin: 0;
       4             padding: 0;
       5         }
       6         .box {
       7             width: 200px;
       8             height: 200px;
       9             /* 设置盒子在浏览器中水平居中 */
      10             margin: 50px auto;
      11             border: 1px solid #000;
      12             text-align: center;
      13         }
      14         .box .pic {
      15             /* 图片目前在盒子的左上角 */
      16             width: 50px;
      17             height: 50px;
      18         }
      19         .box:before {
      20             content: "";
      21             height: 100%;
      22             width: 0;
      23             display: inline-block;
      24             vertical-align: middle;
      25         }
      26     </style>
      27 </head>
      28 <body>
      29     <div class="box">
      30         <img class="pic" src="images/slide_01_640x340.jpg" alt="">
      31     </div>
      32 </body>
      33 </html>

      方式四: 最牛掰的一种,最棒的一种:设置父盒子的显示模式为display: table-cell;和vertical-align:middle;就可以解决了,有没有很神奇?

       1  <style type="text/css">
       2         * {
       3             margin: 0;
       4             padding: 0;
       5         }
       6         .box {
       7             width: 200px;
       8             height: 200px;
       9             /* 设置盒子在浏览器中水平居中 */
      10             margin: 50px auto;
      11             border: 1px solid #000;
      12             text-align: center;
      13             display: table-cell;
      14             vertical-align: middle;
      15         }
      16         .box .pic {
      17             /* 图片目前在盒子的左上角 */
      18             width: 50px;
      19             height: 50px;
      20         }
      21     </style>
      22 </head>
      23 <body>
      24     <div class="box">
      25         <img class="pic" src="images/slide_01_640x340.jpg" alt="">
      26     </div>
      27 </body>
      28 </html>

       看到这里,小伙伴们还不动手试一试吗?



  • 相关阅读:
    upc组队赛3 T-net【贪心】
    upc组队赛5 Assembly Required【思维】
    upc组队赛5 Bulbs
    upc组队赛5 Ingenious Lottery Tickets【排序】
    upc组队赛5 Hunter’s Apprentice 【判断多边形边界曲线顺逆时针】
    upc组队赛5 Ground Defense【枚举】
    upc组队赛4 Go Latin
    upc组队赛4 TV Show Game 【2-SAT】
    POJ 3250 Bad Hair Day【单调栈入门】
    016.NET5_MVC_视图组件扩展定制
  • 原文地址:https://www.cnblogs.com/queen-live/p/7802075.html
Copyright © 2011-2022 走看看