CSS的布局与居中

2018-10-23  本文已影响0人  tolstory

今天就总结一下CSS中几种常用的布局方式和居中方式。

1. 左右布局

网页布局常见左右两列布局,左侧栏是固定宽度。右侧栏自适应宽度。
想要达到效果只需给左侧设置固定宽度,并且浮动。

HTML code

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<div class="container">
  <div class="box1">左侧布局</div>
  <div class="box2">右侧布局</div>
</div>
</body>
</html>

CSS code

.container{
 width:1100px;
 height:700px;
}
.box1{
 width:500px;
 height:100%;
 background-color:red;
 float:left;
}
.box2{
 height:100%;
 background-color:blue;
}

效果如下图:


左右布局

2.左中右布局

基本思路与两列布局一样,给左右两列布局设置固定宽度并且分别设置左右浮动。
然后对中间的布局不用设置宽度,只需设置左右侧外边距,宽度为左右侧列的宽度。
HTML code:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<div class="container">
  <div class="left">左栏</div>
  <div class="right">右栏</div>
  <div class="middle">中间栏</div>
</div>
</body>
</html>

CSS code

.container{
  width:1000px;
  height:300px;
  margin:0 auto;
}
.left{
  width: 200px;height: 300px; background: yellow; float: left;    
}
.right{
  width: 150px; height: 300px; background: green; float: right;
}
.middle{
  height: 300px; background: red; margin-left: 200px; margin-right: 150px;
}

效果如下:


左中右布局

3.水平居中

水平居中分两种,一种是行内元素一种是块级元素。

(1)行内元素:
将父元素中的text-align设置居中属性。则子元素的行内元素便会居中。
HTML code

<div class="container">
  <span class="content">hello world</span>
</div>

CSS code

.container {
  text-align:center;
}

(2)块级元素:
给块级元素设置宽度,同时设置外边距便可达到效果。

HTML code

<div class="container">
HELLO WORLD 
</div>

CSS code

.container {
  width:500px;
  height:300px;
  background:blue;
  margin:0 auto;
}

效果如下:


块级元素水平居中

4.垂直居中

垂直居中这里也介绍三种种方式。

(1)在父元素设置宽高的情况下,给子元素设置行高等同于其父元素高度时,达到居中效果。
HTML code

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<div class="container">
  <h1>HELLO WORLD</h1>
</div>
</body>
</html>

CSS code

.container{
  width:500px;
  height:200px;
  background: #ccc;
  line-height:200px;
}

效果如下:


垂直居中1

(2)给父元素设置固定宽高,给需要设置居中的子元素的伪元素设为inline-block类型然后设置高度为100%,vertical-align居中属性。最后将该元素也设置为垂直居中即可。

HTML code

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<div class="container">
 <img src="http://img2.niushe.com/upload/201304/19/14-22-31-71-26144.jpg" alt="GITHUB">
</div>
</body>
</html>

CSS code

.container{
  width:1000px;
  height:800px;
  background: #ccc;
  line-height:200px;
  text-align:center;
}
.container:before{
  content:'';
  display:inline-block;
  height:100%;
  vertical-align:middle;
}
.container>img{
  vertical-align: middle;
  background:blue;
}

效果如下:


第二种垂直居中方式

(3)将元素设置为table-cell属性进行编辑。
HTML code

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<div class="container">
 <img src="http://img2.niushe.com/upload/201304/19/14-22-31-71-26144.jpg" alt="GITHUB">
</div>
</body>
</html>

CSS code

.container{
  width:1000px;
  height:800px;
  background: #ccc;
  line-height:200px;
  text-align:center;
  display:table-cell;
  text-align:center;
  vertical-align:middle;
}

效果与上图一致。

5.其他小技巧

(1)给元素设置浮动时一定要给其父元素设置清除浮动。
代码如下:

.clearfix::after{
content:' ' ;
display:block;
clear:both;
}

(2)在编辑css的时候经常会不知道盒模型大小及位置。这时可以给元素设置一个border。

border:1px solid red;

这样会使盒模型清晰的多,最后编辑完成删除该属性即可。
(3)要善用工具。
取色:colorpix;
测量外边距或内边距:QQ自带截图工具。
一些常用的CSS网站:
CSS tricks:google搜索css tricks shape。

上一篇下一篇

猜你喜欢

热点阅读