不同情况下元素局中的方法

一、居中元素定宽定高情况

.fu{
    width: 500px;
    height: 500px;
    border:1px solid #000;
}
.kuangao{
    width: 100px;
    height: 50px;
    background-color: red;
}

<div class="fu">
    <div class="kuangao"></div>
</div>

1、水平局中:

方法一:

利用自动外边距

.kuangao{
    margin: 0 auto;
}

方法二:

包含居中元素的容器设置相对定位,居中元素绝对定位于相对包含容器左边边缘的50%处,再利用居中元素宽度的一半负外边距使其局中。(由此得出垂直居中的一种方法)

.fu{
    position: relative;
}
.kuangao{
    position: absolute;
    left: 50%;
    margin-left: -50px;(.kuangao元素宽度的一半)
}

方法三:

外层包含元素相对定位,居中元素绝对定位于包含容器的50%处,再利用transform:translate(-50%)使其居中。(由此得出垂直居中的一种方法)

.fu{
    position: relative;
}
.kuangao{
    position: absolute;
    left: 50%;
    transform: translate(-50%);// 或者 transform:translateX(-50%);
}

2、垂直局中:

方法一:

利用上下外边距为auto


.fu{   position: relative;}.kuangao{   position: absolute;  top: 0;  bottom: 0;
   margin: auto;    
}
 

方法二:

包含居中元素的容器设置相对定位,居中元素绝对定位于相对包含容器上边边缘的50%处,再利用居中元素宽度的一半负外边距使其垂直局中。

.fu{
    position: relative;
}
.kuangao{  position: absolute;
    top:50%;
    margin-top: -25px; // .kuangao高度50px的一半即25px
}

方法三:

外层包含元素相对定位,居中元素绝对定位于包含容器上边边缘的的50%处,再利用transform:translate(-50%)使其垂直居中。

.fu{
    position: relative;
}
.kuangao{    position: absolute;
    top:50%;
    transform:translate(-50%); // 或者 transform:translateY(-50%);
 }

3、既水平居中又垂直居中

方法一:

.fu{
    position: relative;
}
.kuangao{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

方法二:

.fu{
    position: relative;
}
.kuangao{
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -50px;(.kuangao元素宽度的一半)
    margin-top: -25px;(.kuangao元素高度的一半)
}

方法三:

.fu{
    position: relative;
}
.kuangao{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
 }

方法四:页面居中(居中元素始终处于页面的中央),相对于屏幕而定中心,随着屏幕缩放而偏移,但始终处于屏幕中央

.kuangao{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 999;
}

二、居中元素不定宽高情况

1、居中inline文字或者inline元素

水平局中:text-align:center

垂直居中:height与line-height的组合使用

时间: 2024-08-25 12:48:35

不同情况下元素局中的方法的相关文章

保留键的情况下取字典中最大的值(max\zip函数的联合使用)

在我们平常想要获取字典中value最大或者最小的值的时候,常常使用如下函数: testDict = {"age1":18,"age2":20,"age2":6,"age2":100} v1 = max(testDict.values()) print(v1) #打印结果为100 这样已经达到了获取最大值的目的,但是这样就丢失了key.要如何保留key呢,这就需要用到zip函数 zip函数的作用是将两个序列以顺序对应起来,最后生

在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法

在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法 ==========方法1: --------1. 选相应的checkbox后  点删除按钮------------- <!-- *******************删除******************* -->     <input type="image" alt="delete"      src=&

easyui日期在未加载easyui-lang-zh_CN.js出现英文的情况下加载中文的方法

我们有时候在操作easyui的时候本来是加载了easyui-lang-zh_CN.js中文文件包,但是还是出现了英文.使得我们不得埋怨这框架咋这么不好用,其实我们仔细看看这个中文包就会发现里面很多都是重新修改了定义语言的参数.假如我们用jquery初始化加载方法$(function(){//这里是我们自定义的操作方法});这个方法里面的东西执行后发现更本没加载我们的中文下面是我写的datetimebox日期控件js代码: $(function () { function adddaytimes(

如何在不使用系统函数的情况下实现PHP中数组系统函数的功能

PHP中为我们提供了各种各样的系统函数来实现我们需要的各种功能,那么,在不使用系统函数的情况下我们要怎样来实现这些功能呢?以下就是几种系统函数的实现方式. 首先,我们来定义一个数组: $arr= array(1,2,3,4,5,6,"a"=>7,"b"=>8,"c"=>"haha",10); 以下是对于这个数组可以使用的系统函数和不使用系统函数获得同样效果的方式: 1.返回数组的所有的值,返回数组.(arra

数据库有百万数据量的情况下,分页查询的方法及其优化方式

当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分页查询,也有很多种方法和优化的点. 下面简单说一下我知道的一些方法. 准备工作 为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明. 表名:order_history 描述:某个业务的订单历史表 主要字段:unsigned int id,tinyint(4) int type 字段情况:该表一共37个字段,不包含text等大型数据,最大为varch

并发情况下删除集合中的元素

public class ListTest { public static void main(String[] args) { CountDownLatch downLatch = new CountDownLatch(10); List<String> list = new ArrayList<>(); list.add("2"); list.add("2"); list.add("11"); list.add(&qu

easyui datagrid没有ID情况下,easyui datagrid 删除行信息方法

在datagrid中直接将index传给easyui自带的deletRow方法来删除当前点击行,一开始并没有问题,但是当连续删除的时候就或出问题了. 原因是datagrid行是根据datagrid-row-index和datagrid-row-r1-x-x来定位行的,如果一开始就将该行的index作为参数传给deleteRow方法,每行的index是固定了的,其他行的index并不会随着删除某一行而改变掉.所以在连续删除中,可能会出现,当删除了一行以后,点击了第二行的删除按钮,删除的确实第三行这

不使用jquery情况下循环添加绑定事件方法

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <style type="text/css"> 7 .page{border: 1px red solid;} 8 .up{width:300px;height:50px;} 9 .a{width:90px;height:5

条件查询N多的情况下,回显解决方法。

条件查询每个web程序员一定都写过,关于条件回显值页面的思路很简单,将页面的值传到后台,放置request作用域,然后回显至页面. 如果几个条件还好些,如果是下面这种情况呢? 如果条件像以上情况N多情况,你还会采用页面->后台->页面这种方式回显吗?很显然这样做很费事. 那么问题就来了,应该怎样去做? 个人给出的建议是条件查询的div和列表的div分开, 然后将带有数据信息的列表在带有条件的 页面 通过jquery的load()方法load进来.