首页 > 其他分享 >css常见的居中操作(一)

css常见的居中操作(一)

时间:2023-11-05 17:25:11浏览次数:32  
标签:居中 float bar 常见 li ul height css

原创声明:本文所有图片和代码皆由本人制作和编写。

目录

目标

image

当前html毛坯房

<div class="bar">
        <ul>
            <li>
                <img src="./img/check.png">
                <span>审查</span>
            </li>
            <li>
                <img src="./img/set.png">
                <span>设置</span>
            </li>
            <li>
                <img src="./img/download.png">
                <span>下载</span>
            </li>
        </ul>
</div>


方法一 纯CSS2

第0步 排版之前的一些css基本设置

/*清除一些默认样式*/
*{
	padding: 0;
	list-style: none;
}

/*给容器设置宽高和颜色作为背景板*/
.bar>ul{
height: 100px;
width: 1200px;
background-color: rgb(224, 228, 242);
}

/*列表子元素启用浮动*/
.bar>ul>li{
	float: left;
}

/*设置图标大小*/
.bar>ul>li>img{
	height: 50px;
}

这一步结束时的效果:
image



第1步 图标与文字对齐

/*在父容器中设置字体大小为零 否则文字将挤占后期的排版*/
.bar>ul>li{
	float: left;
	font-size: 0px;
}

/*给文字子元素单独设置文字大小与垂直居中*/
.bar>ul>li>span{
	font-size: medium;
	vertical-align: middle;
}

/*给图片子元素设置垂直居中*/
.bar>ul>li>img{
	height: 50px;
	vertical-align: middle;
}

这一步结束时的效果:
image



第2步 把li居于ul的垂直中部且均匀分布

.bar>ul{
	height: 100px;
	width: 1200px;
	background-color: rgb(224, 228, 242);
	/*垂直居中*/
	line-height: 100px;
}

.bar>ul>li{
	float: left;
	font-size: 0px;
	vertical-align: middle;
	/*均匀分布*/
	width: 33%;
}

这一步结束时的效果:
image



第3步 li的子内容水平居中于li

原理:
image

.bar>ul>li{
	float: left;
	font-size: 0px;
	vertical-align: middle;
	width: 33%;

	text-align: center;
}

这一步结束时的效果:
image



方法二 使用CSS3的flex

第0步 排版之前的一些css基本设置

这次让最外层的div作为容器,这次会遇到浮动塌陷问题,所以需要使用伪类选择器。

/*清除一些默认样式*/
*{
	padding: 0;
	list-style: none;
}

/*给容器设置宽高和颜色作为背景板*/
.bar{
	height: 100px;
	width: 1200px;
	background-color: rgb(224, 228, 242);
}

/*解决浮动塌陷问题*/
ul::after{
	content: "";
	display: block;
	clear:both;
}

/*列表子元素启用浮动*/
.bar>ul>li{
	float: left;
}

/*设置图标大小*/
.bar>ul>li>img{
	height: 50px;
}



第1步 图标与文字对齐

.bar>ul>li{
float: left;

display: flex;
align-items: center;
}

这一步结束时的效果:
image



第2步 把li垂直居中且均匀分布

.bar{
	height: 100px;
	width: 1200px;
	background-color: rgb(224, 228, 242);
	/*垂直居中*/
	line-height: 100px;
}

/*均匀分布*/
.bar>ul{
	display: flex;
}
.bar>ul>li{
	flex:1;

	float: left;
	display: flex;
	align-items: center;
}

这一步结束时的效果:
image

标签:居中,float,bar,常见,li,ul,height,css
From: https://www.cnblogs.com/lmj00/p/17808811.html

相关文章

  • [CSS]关于<img>标签距离底部盒子5px的问题
     问题描述:在某个盒子内部放入一个<img>标签,不写样式的情况下,<img>总是和父盒子有5px空隙。<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>清除图片多5px问题</title><linkrel="stylesheet"......
  • 常见错误
    第一个演练中的常见错误1>手误,例如使用pirnt("Helloworld")NameError:name'pirnt'isnotdefined名称错误:'pirnt'名字没有定义2>将多条print写在一行SyntaxError:invalidsyntax语法错误:语法无效每行代码负责完成一个动作3>缩进错误IndentationError:unexpectedi......
  • Java小白学习记录--------常见的一维数组遍历方法
    一维数组:for循环遍历:int[]myArray={1,2,3,4,5};for(inti=0;i<myArray.length;i++){System.out.println("myArray["+i+"]="+myArray[i]);//输出数组中的每个元素} for-each循环遍历数组(增强for循环遍历)int[]myArray={1,2,3,4,5};......
  • CSS必学:元素之间的空白与行内块的幽灵空白问题
    作者:WangMin格言:努力做好自己喜欢的每一件事CSDN原创文章博客地址......
  • CSS学习
    知识体系                           案例整理案例:1)需求:商品页面2)代码:<!DOCTYPEhtml><html><head><title>商品页面</title><style>body{height:100%;margin......
  • Jmeter分布式测试的注意事项和常见问题
    Jmeter分布式测试的注意事项和常见问题Jmeter是一款开源的性能测试工具,使用Jmeter进行分布式测试时,也需要注意一些细节和问题,否则可能会影响测试结果的准确性和可靠性。Jmeter分布式测试时需要特别注意的几个方面1.参数化文件的位置和内容如果使用csv文件进行参数化,即通过......
  • css的浮动和定位
    CSS是前端开发中不可或缺的一部分,其中浮动和定位是常用的布局方式。本篇博客将详细介绍浮动和定位的概念、用法和注意事项,适合新手学习。一、浮动1.概念浮动是指将元素从正常的文档流中移除,使其脱离文档流并向左或向右移动,直到其外边缘碰到包含块或另一个浮动元素的边缘为止。......
  • 常见的报错、警告及其解决方法
    1.Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.解释:这是一个运行后的警告,对项目运行没什么影响。-Xverify:no 或者 -noverify ......
  • 音视频常见问题(七):首开慢
    本文主要讨论音视频应用中的首开慢问题,文章介绍了首开慢的产生原因:DNS解析耗时、网络传输协议耗时、传输网络调度耗时,并提供了排查方式和解决方案。即构科技的ExpressSDK和MSDN网络可以有效的解决首开慢问题,且节省开发成本。一、前言对于音视频开发者来说,掌握排查问题的技术技巧方......
  • 一些有用的css函数
    var使用自定义的属性值。:root{--main-bg-color:pink;}body{background-color:var(--main-bg-color);}attr使用html上data-*属性引用的文本。<pdata-foo="hello">world</p>p:before{content:attr(data-foo)"";}属性也可以被解析为colo......