css+div上下左右自适应居中

主要记录自己日常积累的布局相关的东西,持续更新中。

1.登录框上下左右自适应居中

以前想要把登录表单始终放置在页面的中间,花了不少心思,一直以来用的解决方法都是用js,感觉有点麻烦不是很好,于是在网上查询了一下发现了一种比较的实现方法。

原理就是用position:absolute,然后用left:50%,top:50%,现在登录表单左侧直角是在页面的中间了,但是登录框本身还有宽度和高度,所以我们再用margin-left:-登录框宽度,margin-top:-登录框高度,就可以让登录框显示在页面的正中间了。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
	<title>登录框自适应居中</title>
	<style>
	#LoginContainer {
		position: absolute;
		width:400px;
		height:200px;
		left:50%;
		top:50%;
		margin-left:-200px;
		margin-top:-100px;
		border:1px solid #ccc;
	}
	</style>
</head>
<body>
	<div id="LoginContainer">
	这是登录框
	</div>
</body>
</html>

  

很多问题的解决方法都不止一种,还是要多学习多交流啊。

2.左右布局,左侧固定宽度,右侧自适应宽度

原理就是左侧div固定宽度+float,然后右侧的div设置左间隔左侧div宽度的距离就可以了(margin-left:左侧div的宽度)

<style type="text/css">
    html, body { padding: 0px; margin: 0px; height: 100%; overflow: hidden; }
    .container { height: 100%; border: 1px solid #ccc; min-width: 600px; }
        .container .west { border-right: 1px solid #ccc; height: 100%; width: 200px; float: left; }
        .container .content { height: 100%; margin-left: 200px; }
</style>

<div class="container">
    <div class="west">west</div>
    <div class="content">content</div>
</div>

 3.利用translate(-50%, -50%)居中(红色为关键部分)

  position: fixed;
  min-width: 100px;
  color: #fff;
  border-radius: 2px;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 10px 5px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
posted @ 2015-08-09 15:43  yyq745201  阅读(4795)  评论(0编辑  收藏  举报