zoukankan      html  css  js  c++  java
  • 探究css中各种情况下的元素的垂直和水平居中的问题(面试题)

    今天各种纠结,真的是不想写东西(ps 我比较懒)但是老是有人问这个问题,于是我就本着分享精神还是整理一下,好了废话不多说 开始上代码

    问题:外边是一个容器,容器中还有一个容器,那么请问怎么让里边的容器垂直水平居中显示??

          考察知识点:基本css知识

    下边咱们开始说以下 那么几种情况

    (1)外边的容器宽度和高度确认,里边是行内元素,那么答案就是

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8" />
     5         <title></title>
     6         <style>
     7             *{margin: 0; padding: 0; border: none;}
     8             .contain{width: 300px; height: 300px; border: 1px solid red; background: #999;text-align: center; }
     9             .contain span{line-height: 300px;}
    10         </style>
    11     </head>
    12     <body>
    13         <div class="contain">
    14             <span>我是行内元素 我要垂直水平居中</span>
    15         </div>
    16     </body>
    17 </html>

    这个就不贴图了  自己两分钟就能测试出来

    于是下边开始有人说 我xx  这么简单我也知道  (一切技术都是从简单的开始的 像很多语言的第一个程序都是helloworld一样)

    (2)里边的容器是img元素(为什么把img元素单独拿出来啊   因为 img元素是一个空元素 也有人叫做替代元素)

    解释名词  空元素/替代元素:替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容。

    有哪些:(X)HTML中的<img>、<input>、<textarea>、<select>、<object>都是替换元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
            <style>
                *{margin: 0; padding: 0; border: none;}
                .contain{width: 400px; height: 400px; border: 1px solid red; background: #999;text-align: center;  vertical-align:middle; display: table-cell;}
            </style>
        </head>
        <body>
            <div class="contain">
                <img src="img/dog.jpg"/><!--图片大小为200*200-->
            </div>
        </body>
    </html>

    效果如下:

    (3)里边的容器是div元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
            <style>
                *{margin: 0; padding: 0; border: none;}
                .contain{width: 400px; height: 400px; border: 1px solid red; background: #999;text-align: center;  vertical-align:middle; display: table-cell;}
                .wrap{width: 200px; height: 200px; background: yellow; margin: auto;}
            </style>
        </head>
        <body>
            <div class="contain">
                <div class="wrap"></div>
            </div>
        </body>
    </html>



     

     还有一些别得方法也可以做到 我这里就不一一列举了!

  • 相关阅读:
    堆排序算法(C#实现)
    在 .NET 2.0 中享受 .NET 3.0的特性
    火花:使用文件管理功能管理我的连接
    我们可以做的更好
    有价值的文章
    网上掏宝
    WPF绑定技术一步步学
    结构类型需要重载GetHashCode和Equals
    关于扩展Visual Studio 2005的相关资料
    插件模型应该考虑的问题
  • 原文地址:https://www.cnblogs.com/ling-du/p/4547731.html
Copyright © 2011-2022 走看看