css完全居中

关于css完全居中的文章,网上已经很多了。这里主要记录一下思路,方便记忆,最后附上所有的参考链接。

1  水平居中

1  内部是内联元素,那么我们直接可以在父元素上面设置,text-align:center。

2 有多个内联元素,排成一排,实现水平居中。

html代码:

<div class="container">
    <div>1</div>
    <div>2</div>
    <div>3</div>
</div>

css代码:

.container {
  width: 800px;
  height: 200px;
  border: 3px solid #e5e5e5;
  text-align:center;
  font-size:0;   //避免子元素设置成display:inline-block时,产生几像素的间隙

}

  .container div {
    font-size:16px; //恢复,div里面的字体大小为0.
    width: 100px;
    height: 50px;
    border: 1px solid red;
    display: inline-block; }

那么这里就实现了,几个内联元素同排居中的效果。

当然我们也可以用flex布局来实现,只需要在父容器中添加两行代码

display: flex;
justify-content: center;

至于flex布局,大家可以看看这篇文章

http://www.ruanyifeng.com/blog/2015/07/flex-examples.html

3 第三种就是如果里面是跨级元素 那么我们一般最常用的就是 

margin-left: auto;
margin-right: auto;

垂直居中

1 块级元素里面的内联元素,如果只有单行,我们设置line-height的值等于父元素的高度,缺点就是只能用在单行上面。

2 块级元素里面的块级元素居中  如果知道子元素的宽高,那么我们用负的margin来实现,因为所有浏览亲都支持,这个属性。

<div class="container">
    <div class="cneter2">知道宽高</div>
</div>
.container{
            width:800px;
            height:200px;
            border:3px solid #e5e5e5;
            position: relative;
        }

.container div {
    width: 100px;
    height: 50px;
}

.cneter2{
    position: absolute;;
    top: 50%;
    left: 50%;
    margin-left: -50px;  //这个值为子元素宽度的一般
    margin-top: -25px    //这个值为子元素高度的一般
}

当然你也可以利用calc属性,减少两个属性,当然是否支持,也是你需要考虑的,还有"-"左右两边一定要有一个空格。

.cneter2{
    position: absolute;;
    top: calc(50% - 25px);
    left: calc(50% - 50px);

}

在不知道子元素具体宽高的情况下

.center1{
    position: absolute;
    top: 50%;
    left: 50%;
    background: yellow;
    transform: translate(-50%,-50%);
}
时间: 2024-10-29 22:19:23

css完全居中的相关文章

CSS元素居中

html中元素分为行内元素和块级元素.采用margin或者float来使元素居中,是比较常见的方法. margin:0 auto只能用于块级元素,不能使行内元素居中. 参考知乎上为什么「margin:auto」可以让块级元素水平居中?,margin:0 auto,是左右外边距自适应,水平方向的 auto,其计算值取决于可用空间(剩余空间).元素本身为块级元素,那么水平方向可用空间的距离为其包含盒的宽度(宽度=盒总宽度-(padding-left+padding-right+border-left

利用CSS实现居中对齐

1. 文本居中 首先编写一个简单的html代码,设置一个类名为parentDiv的div对象.html代码如下: 1 <div class="parentDiv"> 2 这里随意填写~... 3 </div> 1.1 实现文字水平居中(使用text-align) 对div.parentDiv设置text-align: center;来实现.CSS代码如下: 1 [css] 2 3 .parentDiv { 4 width:200px; 5 height:100p

css图片居中(水平居中和垂直居中)

http://www.51xuediannao.com/html+css/htmlcssjq/css_img_center.html css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍 css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍. css图片水平居中 利用margin: 0 auto实现图片水平居中 利用margin: 0 auto实现图片居中就是在图片上加上c

使用Flexbox实现CSS竖向居中

竖向居中需要一个父元素和一个子元素合作完成. <div class="flexbox-container"> <div>Blah blah</div> <div>Blah blah blah blah blah ...</div> </div> …但为了让子元素竖向居中,你只需要对父元素施加CSS样式: .flexbox-container { display: -ms-flexbox; display: -web

DIV CSS固定宽度居中实例

DIV CSS固定宽度居中布局实例 在布局一个网页时,非常重要的是一般网页主体布局都是水平居中的,其实就是对最外的DIV层设置居中布局,这时布局居中就是我们这里要介绍关键点. DIV布局水平居中,关键使用CSS单词为margin:0 auto.解释:DIV对象外边距左右为自动适应距离(根据对象设置宽度样式自动判断浏览器除去设置宽度后剩下宽度左右自动对等自然就实现布局居中),上下间距为0px. 关键实例CSS代码: body{ text-align:center} .box{ margin:0 a

css元素居中实现方法

关于css元素居中,查阅资料和实验有以下几种方法: 水平居中 1.最简单的在父元素中加入 text-align:center .这条语句不用关心子元素是否有固定的尺寸大小. 但只能对图片,按钮,文字等行内元素(display为inline或inline-block等)进行水平居中. 但要说明的是在IE6.7这两个奇葩的浏览器中,它是能对任何元素进行水平居中的. 2.子元素宽度确定,可以使用 margin:0 auto 或者 margin-left:auto ; margin-right:auto

css 元素居中方法

目前知道有两种方法 方法一:主要适用于元素未设定高度的情况下. 直接上代码 html: 1 <div class="nav-content"> 2 <ul ng-click="navItem($event)" ng-model="navType"> 3 <li id="nav_msglist"> 4 <a href="#/">消息列表</a> 5

css绝对定位居中

技术参考:https://www.php.cn/css-tutorial-409962.html 1.兼容性不错的主流css绝对定位居中的用法: 1 .conter{ 2 width: 600px; height: 400px; 3 position: absolute; left: 50%; top: 50%; 4 margin-top: -200px; /* 高度的一半 */ 5 margin-left: -300px; /* 宽度的一半 */ 6 } 注意:这种方法有一个很明显的不足,就是

css实现居中的五中方法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css实现的五种居中的方法</title> <style> .inner { height: 300px; width: 1200px; position: absolute;// top: 50%;// left: 50%;// transfo