CSS之盒子居中的方法
一、盒子垂直居中的方法
1、先让盒子的上下边缘和父盒子的水平中心线重叠,,然后再让子盒子往回移动自身一半的距离
<div class="father"> // 结构
<div class="son"></div>
</div>
/* 通过 transform 属性来移动*/
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 0 auto;
}
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin-top: 50%; // 向下移动父盒子的一半
transform: translateY(-50%); // 向上移动自身盒子的一半
} /* 通过 定位来移动*/
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 0 auto;
position: relative;
}
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
position: absolute;
top: 50%; // 先向下移动父盒子的一半
margin-top: -100px; // 再向上移动自身盒子的一半 }
2、使用表格的 vertical-align :middle 属性来实现盒子垂直居中
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
display: table-cell; // 显示形式为表格
vertical-align: middle; // 里面内容为居中对齐
}
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
}
3、知道父盒子的高度,可以使用 margin 计算盒子的上下边距,来使盒子居中
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin-top: 149px; // 根据父盒子的高度指定 margin-top 即可
}
二、盒子水平居中的方法
1、使用 margin: 0 auto;
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin: 0 auto; // 让盒子左右自动适应,想当于 left:auto; right:auto
}
2、通过计算 margin 左右边距来实现居中
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin-left: 149px; // 父盒子的定宽的,指定 margin-left 即可
}
3、先让盒子左右边缘和父盒子垂直的中心线垂直,然后把子盒子往回移动自身宽度的一半
/* 通过 transform 实现*/
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
margin-left: 50%; // 先移动父盒子的一半
transform: translateX(-50%); // 再移动自身盒子一半 }
/*通过 定位实现*/
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto;
position: relative; }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
position: absolute;
left: 50%; // 向右移动父盒子一半
margin-left: -100px; // 向左移动自身盒子一半
/* transform: translateX(-50%); */ //向左移动自身盒子一半
}
4、把盒子转成 行内块,然后用 text-align 属性使盒子水平居中
.father {
width: 500px;
height: 500px;
background-color: skyblue;
border: 1px solid #000;
margin: 50px auto;
text-align: center; // 让父盒子设置水平居中 }
.son {
width: 200px;
height: 200px;
background-color: pink;
border: 1px solid #000;
display: inline-block; // 让子盒子显示为行内块模式
}
CSS之盒子居中的方法的更多相关文章
- CSS设置图片居中的方法
如果是应用了表格,那么设置单元格为align="center"就可以使其中的一切内容居中.如果没有应用表格要想设置图片居中就有点困难了.困难来自不按"常规出牌" ...
- 关于HTML+CSS设置图片居中的方法
有的时候我们会遇到这样一个问题,就是当我们按下F12进行使用firebug调试的时候,我们发现图像没有居中,页面底下有横向的滑动条出现,图片没能够居中,默认状态下只是紧靠在页面最左侧,而我们对图像缩小 ...
- css中的居中的方法
一.垂直居中 (1)inline或者inline-*元素 1. 单行文字 设置上下padding相等 以前一直以为inline元素是没有上下的padding和margin的,其实不然,他们是有上下的p ...
- CSS设置元素居中的方法
1.margin:0 auto; 2.body{text-align:center;} 3.position:absolute; left:50%; margin-left:-(宽/2);
- 《Web开发中让盒子居中的几种方法》
一.记录下几种盒子居中的方法: 1.0.margin固定宽高居中: 2.0.负margin居中: 3.0.绝对定位居中: 4.0.table-cell居中: 5.0.flex居中: 6.0.trans ...
- css盒子居中
方法1(margin: 0 auto)<!DOCTYPE html> <html lang="en"> <head> <meta char ...
- css图片居中,通过纯css实现图片居中的多种实现方法
在网页布局中,图文排版是我们常用的,那么经常会遇到如何让图片居中显示呢,这篇文章将总结常用css实现图片居中的方法总结: html结构: <div class="demo" ...
- css 浮动元素居中
方法一 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- cssy元素居中的方法有哪些?
css的元素居中 各位小伙伴们在努力写网页的时候有没有遇到过这样的一个问题呢? 在写的时候发现他不居中,可是要分分钟逼死强迫症的啊! 别急,我来啦 哈哈哈 今天就带来三种css的元素居中的方法 第一种 ...
随机推荐
- 04-C#笔记-数据类型转化
支持强制类型转换. 常用的转化函数如下: 1 ToBoolean如果可能的话,把类型转换为布尔型. 2 ToByte把类型转换为字节类型. 3 ToChar如果可能的话,把类型转换为单个 Unicod ...
- JDOJ 2175: 忠诚2
JDOJ 2175: 忠诚2 题目传送门 Description 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让 ...
- spring学习2
使用注解配置spring 步骤: 1. 导包4(core/bean/context/spel)+1(logging)+spring-aop包(新版spring需要导入这个包) 2. 为主配置文件引入新 ...
- map和object互转的几种方式
1.使用Apache中的BeanUtils类,导入commons-beanutils包. 2.使用JSON 3.利用java.lang.reflect.Field类完成Obj和Map之间的相互转换 h ...
- 将float数字按照一定格式写入到文件中
/* float.c */ #include<stdio.h> #include<string.h> int main() { FILE *fp = fopen("D ...
- 不用FTP,直接Windows与Linux下互传文件
直接上传文件到Linux[1] Linux上输入命令:rz 直接下载Linux中的文件[2] 使用命令: sz 文件名 网上看到这个帖子,觉得很实用,转载保存 下载一个部署文件夹,到本地电脑 . 两步 ...
- Notepad++ 【自动完成】与【输入时提示函数参数】互相冲突,无奈
Notepad++ 既然可以在输入时提示函数参数,可是当提示函数参数的时候,输入具体参数时[自动完成]失效了. 一位用户遇到和我一样的问题:https://community.notepad-plus ...
- Visual Studio报错/plugin.vs.js,行:1074,错误:缺少标识符、字符串或数字
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\PrivateAssemblies/plugin. ...
- linux nc 命令详解
linux nc命令使用详解 功能说明:功能强大的网络工具语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o&l ...
- 027 ElasticSearch----全文检索技术02---快速入门
1.基本概念 Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的. 注意:6.0之前的版本有type(类型)概念,type相当于关系数据库的表,E ...