首页 > 其他分享 >行内元素&块级元素的水平垂直居中方法

行内元素&块级元素的水平垂直居中方法

时间:2022-11-02 01:12:17浏览次数:89  
标签:块级 行内 color 元素 height 500px background margin

今天实习面试的时候,问到了这个问题,一时间只是知道块元素的方法,行内的方法知道但是觉得那是控制文字的显示方法,犹豫没有说。面试官接着就问了我行内元素跟块级元素的区别。下面是整理。

行内元素&块级元素

行内元素:与其他元素共占一行,一行排满前不换行,不能设置宽高,没有水平方向的margin和padding。常见有img,span,select,input,a
块级元素:占据整行,能设置宽高,能设置margin和padding的宽高。常见有ul,p(段落),table(表格),form(表单)

行元素转换为块级元素/行内块

float:left;
position:absolute/fixed;转换成行内块定位使行内元素转换为块级元素
display:block/inline-block;

水平垂直方法

行内元素

line-height:内容高度;
tex-align:center;

块级元素

1.定位+margin方法

定位上下左右值为0,然后margin:auto实现

	 .fa{//父元素设置绝对定位
            position: relative;
            width: 500px;
            height: 500px;
            background-color:#eee
            }
         .son{//子元素设置绝对属性上下左右值为0,margin:auto
            position:absolute;
            top:0;
            left:0;
            right:0;
            bottom:0;
            margin: auto;
            width:20px;
            height:50px;
            background-color:#999;
            }

2.定位+margin/tansform方法

子元素在绝对定位下移动父盒子一半宽高,再通过margin操作向反方向移动半个子盒子的宽高

 	.fa{
            position: relative;
            width: 500px;
            height: 500px;
            background-color:#eee
            }
            .son{
            position:absolute;
            top:50%;
            left:50%;
            margin-top: -10px;
            margin-left: -25px;
            width:20px;
            height:50px;
            background-color:#999;
            }

通过transform:tanslateX()/translateY()反方向移动半个子盒子的宽高实现

	.fa{
            position: relative;
            width: 500px;
            height: 500px;
            background-color:#eee
            }
        .son{
            position:absolute;
            top:50%;
            left:50%;             
            width:20px;
            height:50px;
            background-color:#999;
            transform: translateX(-10px);
            transform:translateY(-25px);           
            }

3.flex方法
父盒子设置flex:flex;设置主轴居中justify-content:center;侧轴居中align-items:center;

   	.fa{
            display: flex;
            justify-content: center;
            align-items: center;
            width: 500px;
            height: 500px;
            background-color:#eee
            }
        .son{            
            width:20px;
            height:50px;
            background-color:#999;
            transform: translateX(-10px);
            transform:translateY(-25px);           
            }

标签:块级,行内,color,元素,height,500px,background,margin
From: https://www.cnblogs.com/Allerge/p/16849707.html

相关文章

  • li标签设置inline-block后元素间产生间隙
    参考文章li与li之间设置display:inline-block;后有看不见的空白间隔如何形成的,相应的解决办法1.问题描述当使用li作为导航栏时,通常需要将li设置为一行显示,其......
  • HTML标签中可替换元素和不可替换元素
    问题:img标签属于什么元素?面对这个问题,可能很多小伙伴们会脱口而出:“行内元素”。其实它属于可替换元素。有可替换元素,那肯定就有非可替换元素。下面我们来了解一下可替换......
  • DOM元素高度获取踩坑
    前情最近在开发一个需求,需要做一个滚动列表展示当前中奖用户,但是列表每一项高度又不是固定的,每次滚动前需要先获取当前要滚动的块是多高才知道要滚动多少。坑位在开发......
  • 217. 存在重复元素
    给你一个整数数组nums。如果任一值在数组中出现至少两次,返回true;如果数组中每个元素互不相同,返回false。示例1:输入:nums=[1,2,3,1]输出:true示例2:输入:nums=......
  • js多种方法取数组的最后一个元素
    1.pop()方法,删除数组最后一个并返回该元素利用这个方法可以取到数组的最后一个,同理shift()可以取到数组的第一个(shift()删除数组第一个并返回该元素vararr=[1,2,3];......
  • c#:两个list不同元素,值类型,对象类型
    基本值类型publicstaticList<T>GetListDiff<T>(List<T>listA,List<T>listB){List<T>ret=newList<T>();if(listA.Count>listB.Count)......
  • 15、移除列表中的一些元素
    题目:  输入:原始列表:[3,5,7,9,11,13]移除元素:[7,11]  返回:[3,5,9,13] 思路:  1、遍历移除元素列表  2、判断迭代变量中是否在原始列表中,若在则删除。......
  • 第十章、元素的显示与隐藏
     ......
  • 功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素
    功能要求:定义一个两行三列的二维数组names并赋值,使用二重循环输出二维数组中的元素names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};运行结果效果:代码:public......
  • 单链表输出倒数第k个元素
    这个算法已经有不少人写过了,但是为了考研后期复习还是在此记录一下自己的心得。方法有如下几种:1、遍历单链表两次,第一次获取链表总长度,第二次寻找倒数第K个元素就很简单......