如何利用css3中@media实现响应式布局

html-css017

如何利用css3中@media实现响应式布局,第1张

响应式布局,说穿了就是用css写了好几套的样式,当屏幕大小不同的时候,读取不同的样式而已。例如:

@media screen and (max-width: 300px) {

body {

background-color:red

}

}

@media screen and (min-width: 700px) {

body {

background-color:lightblue

}

}

这两个的意思,就是当屏幕最大宽度是300的时候,body的背景是红色;当屏幕最小宽度是700的时候,body的背景是淡蓝色。在@media这个大括号中,你只要按照平常的css一样写就行了

响应式布局最简单的就是用css3来实现。我举一个最简单的例子。

下面是html代码。

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name ="viewport" content="width = device-width,initial-scale=1">

<title>index01</title>

<link href="style01.css" type="text/css" rel="stylesheet">

</head>

<body>

<div class="heading">第一</div>

<div class="container">

<div class="left">第二</div>

<div class="main">第三</div>

<div class="right">第四</div>

</div>

<div class="footing">第五</div>

</body>

</html>

下面是css3代码

*{

margin:0px

padding: 0px

}

.heading,

.container,

.footing{

margin: 10px auto

}

.heading{

height: 100px

background-color: red

}

.left,

.right,

.main{

height: 300px

background-color: yellow

}

.footing{

height: 100px

background-color: gray

}

<!--media="only screen and (max-width:640px)" 这句话的意思是:只要当渲染屏幕的宽度不大于640px的时候才会使用这个样式表-->

@media screen and (min-width: 960px){

.heading,

.container,

.footing{

width:960px

}

.left,

.main,

.right{

float: left

height: 500px

}

.left,

.right{

width:200px

}

.main{

margin: 0px 5px

width:550px

}

.container{

height: 500px

}

}

@media screen and (min-width: 600px) and (max-width: 960px){

.heading,

.container,

.footing{

width: 600px

}

.left,

.main{

float: left

height:400px

}

.right{

display: none

}

.left{

width: 160px

}

.main{

width: 435px

margin-left: 5px

}

.container{

height: 400px

}

}

@media screen and (max-width: 600px){

.heading,

.container,

.footing{

width: 400px

}

.left,

.right{

width: 400px

height: 100px

}

.main{

margin-top: 10px

width:400px

height:200px

}

.right{

margin-top: 10px

}

.container{

height: 420px

}

}

这样就可以实现简单的响应式布局!如果你想要了解的话,可以到华清远见学习一下。我就是在那里学习的。