如何用一简单的CSS制作响应式HTML网页

html-css011

如何用一简单的CSS制作响应式HTML网页,第1张

建议展开阅读

新人如果想快速开发出响应式网站建议使用响应式框架Bootstrap,Foundation等等......

三个部分[Viewport][网格视图][媒体查询]

1.先在head里面设置Viewport

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

用户可以通过平移和缩放来看网页的不同部分。

2.很多响应式都基于网格视图设计

响应式网格视图通常是 12 列,宽度为100%,在网页自动伸缩

比如CSS里面写

* {

    box-sizing: border-box

}

[class*="col-"] {

    float: left

    padding: 15px

}

.col-1 {width: 8.33%}

.col-2 {width: 16.66%}

.col-3 {width: 25%}

.col-4 {width: 33.33%}

.col-5 {width: 41.66%}

.col-6 {width: 50%}

.col-7 {width: 58.33%}

.col-8 {width: 66.66%}

.col-9 {width: 75%}

.col-10 {width: 83.33%}

.col-11 {width: 91.66%}

.col-12 {width: 100%}

这样即可在html写

<div class="row">

<div class="col-3">

<ul>

<li>标题1</li>

<li>标题2</li>

<li>标题3</li>

<li>标题4</li>

</ul>

</div>

<div class="col-9">

<h1>2333333</h1>

<p>2333333333333333333333333333333333333333333333333333333333333333333333333333333333333333</p>

<p>2333333333333333333333333333333333323333333333</p>

</div>

达到简单的响应式效果[拖拽浏览器大小查看]

图片响应式方法

div {

width: 100%

height: 400px

background-image: url('url')

background-repeat: no-repeat

background-size: contain

border: 1px solid red

}

background-size 属性设置为 "contain", 图片比例会自动缩放。

3.媒体查询主要用于针对不同的媒体类型定义不同的样式

比如我在电脑显示图片1,但是在手机显示的是图片2

详细可以私信我

响应是指根据不同设备浏览器分辨率或尺寸来展示不同页面结构、行为、表现的设计方式。下面总结了几种响应式设计布局方式:

1.Viewport。一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:<meta name="viewport" content="width=device-width, initial-scale=1.0">。

2.网格视图。使用网格视图让向网页添加元素很简单。在创建响应式网格视图时,一定要确保所有的HTML元素都有box-sizing属性且设置为 border-box。

3.媒体查询,使用@media查询,你可以针对不同的媒体类型定义不同的样式。实例:@media only screen and (orientation: landscape) {

body {

background-color: lightblue

}

}

方法1:使用已有的响应式网页框架,如bootstrap

方法2:

a:声明页面viewport标签—-响应式页面的前提条件

<!--device指设备,initial-scale指打开的缩放比例,user-scalable指用户是否可以缩放-->

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

b:使用响应式图片

/*只是举例而已,max-width是图片在页面缩小到影响自身大小时,图片的最大宽度,但不会超过自身图片的原有宽度*/

img{

    max-width:50%/*防止图片无限放大产生失真*/

    }

c:使用流式布局 

布局元素使用浮动float或者行内块 inline-block 

ps:个人建议使用行内块,第一不影响其余元素的布局,第二方便设置。

d:避免使用绝对尺寸(px等),使用相对单位(如rem/em/%) 

ps:这里科普一下,我们都知道em是根据 父级元素 字体的大小来计算的,而rem更狠是根据 根元素 的字体大小来计算,所以推荐使用rem,减少使用em计算的难度。。

f:使用CSS3 MediaQuery技术