• 不定宽高元素居中


    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<style type="text/css">
    			.box{
    				 200px;
    				height: 200px;
    				border: 1px solid #000000;
    			}
    			.cont{
    				padding: 50px;
    				background: red;
    			}
    			/*方法1
    			 * 最简单的flex布局,外层容器加上如下样式即可
    			 * 	display: flex;
    				justify-content: center;
    				align-items: center;
    			 * 
    			 * 兼容性:
    			IE:ie9以上加-ms-前缀
    			移动端:安卓4.2-4.3加-webkit-前缀
    					UC浏览器加-webkit-前缀*/
    			.box1{
    				display: -webkit-flex;
    				display: -moz-flex;
    				display: -o-flex;
    				display: -ms-flex;
    				display: flex;
    				justify-content: center;
    				align-items: center;
    			}
    			
    			/*方法2
    			 利用table-cell
    			 兼容性ie7以上支持
    			 * */
    			.box2{
    				display: table-cell;
    				text-align: center;
    				vertical-align: middle;
    			}
    			.cont2{
    				vertical-align: middle;
    				display: inline-block;
    				*display:inline;
    				*zoom:1;
    			}
    			/*方法3
    			使用CSS3 transform
    			 兼容性
    			 IE:ie8以上,ie9加-ms-前缀
    			 安卓4.3-4.4.4版本浏览器加-webkit-前缀
    			 	UC加-webkit-前缀
    			 
    			 * */
    			.box3{
    				position: relative;
    			}
    			.cont3{
    				position: absolute;
    				left: 50%;
    				top: 50%;
    				transform:translate(-50%,-50%);
    				-ms-transform:translate(-50%,-50%); 	/* IE 9 */
    				-moz-transform:translate(-50%,-50%); 	/* Firefox */
    				-webkit-transform:translate(-50%,-50%); /* Safari 和 Chrome */
    				-o-transform:translate(-50%,-50%); 	/* Opera */
    			}	
    			/*方法4js实现 兼容所有浏览器*/
    			.box4{
    				position: relative;
    			}
    			.cont4{
    				position: absolute;
    				left: 50%;
    				top: 50%;
    				border: 5px solid #000000;
    			}					
    		</style>
    	</head>
    	<body>
    		<!--方法1-->
    		<div class="box1 box">
    			<div class="cont1 cont">1</div>
    		</div>
    		<!--方法2-->
    		<div class="box2 box">
    			<div class="cont2 cont">2</div>
    		</div>
    		<!--方法3-->
    		<div class="box3 box">
    			<div class="cont3 cont">3</div>
    		</div>
    		<!--方法4-->
    		<div class="box4 box" id="box4">
    			<div class="cont4 cont" id="cont4">4</div>
    		</div>
    		<script type="text/javascript">
    			var cont4=document.getElementById("cont4");
    //			console.log(cont4.offsetHeight,cont4.clientHeight);                                   
    			
    			linCenter(cont4);
    			
    			function linCenter(obj){
    				obj.style.marginLeft="-"+obj.offsetWidth/2+"px";
    				obj.style.marginTop="-"+obj.offsetHeight/2+"px";
    			}
    			
    		</script>
    	</body>
    </html>
    

      

  • 相关阅读:
    竖版文字排列实现《金刚般若波罗蜜心经》
    前端气泡效果实现的方式
    纯CSS绘制三角形
    什么是块级格式上下文
    绝对定位元素left、right、top、bottom值与其margin和宽高的关系
    currentColor在CSS的含义
    HTML/css清除浮动的几种方式
    W3C中不同标准的含义
    table表格标签的属性
    输入你的生日某年某月某日,判断这一天是这一年的第几天、星期几?
  • 原文地址:https://www.cnblogs.com/yangxue72/p/7494213.html
Copyright © 2020-2023  润新知