当前位置: 首页 / 技术分享 / 正文
好程序员web前端教程分享如何用CSS做响应式布局

2020-02-12

web前端教程 web前端

  好程序员web前端教程分享如何用CSS做响应式布局,很多Web前端新手对响应式布局和自适应布局的概念以及制作方法分不清,简单来说响应式布局相当于流动网格布局,而自适应布局等于使用固定分割点来进行布局。接下来好程序员web前端教程就给大家讲解用CSS做响应式布局的方法。

web前端4

  做响应式网站离不开CSS响应式布局查询代码写法,而在此之前,我们需要了解什么是媒体查询以及如何才CSS中引入媒体查询。

  什么是媒体查询?

  媒体查询可以让我们根据设备显示器的特性(如视口宽度、屏幕比例、设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成。媒体查询中可用于检测的媒体特性有widthheightcolor(等)。使用媒体查询,可以在不改变页面内容的情况下,为特定的一些输出设备定制显示效果。

  如何在CSS中引入媒体查询?

  媒体查询写在CSS样式代码的最后,CSS是层叠样式表,在同一特殊性下,靠后的的样式会重叠前面的样式。

如何用CSS做响应式布局呢?

1HTML头部添加以下代码,用来显示兼容移动设备的显示效果

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

参数详解:

width=device-width :宽度等于当前设备的宽度

initial-scale=1 :初始的缩放比例(默认为1

minimum-scale=1 :允许用户缩放到的最小比例(默认为1

maximum-scale=1 :允许用户缩放到的最大比例(默认为1

user-scalable=no :用户是否可以手动缩放(默认为no

2引入包含MediaCSS文件

一般情况HTMLCSS代码都是分开写的,Media也不例外

<link rel="stylesheet" type="text/css" href="m320.css" media="only screen and (max-width:320px)"/>

<link rel="stylesheet" type="text/css" href="m480.css" media="only screen and (min-width:321px) and (max-width:375px)"/>

3Media中的代码

以某个网页的响应式布局为例

结构:@media设备类型and (设备特性){样式代码}

/*媒体查询*/

/*当页面大于1200px时,大屏幕,主要是PC*/

@media (min-width: 1200px) {

}

/*992 1199 像素之间的屏幕里,中等屏幕,分辨率低的PC*/

@media (min-width: 992px) and (max-width: 1199px) {

    #adver .center {

        width: 50%;

        margin: -10px 0 0 -25%;

    }

    main .center h2 {

        font-size: 40px;

    }

}

/*768991像素之间的屏幕里,小屏幕,主要是PAD*/

@media (min-width: 768px) and (max-width: 991px) {

    #adver .center {

        width: 60%;

        margin: -10px 0 0 -30%;

    }

    #adver .search, #adver .button {

        font-size: 20px;

    }

    main .center h2 {

        font-size: 35px;

    }

}

/*480767像素之间的屏幕里,超小屏幕,主要是手机*/

@media (min-width: 480px) and (max-width: 767px) {

    header, header .center, header .link {

        height: 45px;

    }

    header .logo, .sm-hidden,.sidebar,.md-hidden {

        display: none;

    }

    header .link {

        width: 100%;

        line-height: 45px;

    }

    #adver {

        padding: 45px 0 0 0;

    }

    #adver .center {

        width: 70%;

        height: 53px;

        margin: -10px 0 0 -35%;

    }

    #adver .search, #adver .button {

        height: 45px;

        font-size: 18px;

    }

    .sm-visible {

        display: block;

    }

    main .center h2 {

        font-size: 30px;

    }

    main .center p {

        font-size: 15px;

    }

    main figure {

        width: 49.2%;

    }

}

/*在小于480像素的屏幕,微小屏幕,更低分辨率的手机*/

@media (max-width: 479px) {

    header, header .center, header .link {

        height: 45px;

    }

    header .logo, .xs-hidden, .sm-hidden, .sidebar, .md-hidden  {

        display: none;

    }

    header .link {

        width: 100%;

        line-height: 45px;

    }

    header .link li {

        width: 25%;

    }

    #adver {

        padding: 45px 0 0 0;

    }

    #adver .center {

        width: 80%;

        height: 48px;

        margin: -10px 0 0 -40%;

    }

    #adver .search, #adver .button {

        height: 40px;

        font-size: 16px;

    }

    .sm-visible {

        display: block;

    }

    footer .bottom, footer .version {

        font-size: 13px;

    }

    main .center h2 {

        font-size: 26px;

    }

    main .center p {

        font-size: 14px;

    }

    main figure {

        width: 99%;

    }

}

  响应式布局的原理就是在不同的窗口大小下显示不同的结构和样式。只要掌握好CSS的样式,响应式布局就没问题

  如果你想了解更多响应式布局的方法技巧,可以关注“好程序员”微信公众号,定期发布技术热点和行业趋势分析,助力你更快更好的学习前端。如果你想参加专业的Web前端培训班,你可以来好程序员申请两周免费试听,亲身体验教学效果,评价讲师的教学水平,更有大量的免费web前端教程供大家学习。

好程序员公众号

  • · 剖析行业发展趋势
  • · 分享大厂面试心得
  • · 汇聚企业项目源码
  • · 下载全套高精尖教程

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2020-11-16(北京)

    开班盛况

    开班时间:2020-12-07(深圳)

    预约报名
  • 大数据+人工智能 <高端班>

    开班时间:2020-09-14(北京)

    开班盛况

    开班时间:2020-11-09(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-01-04(北京)

    预约报名

    开班时间:2020-07-20(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2020-07-20(上海)

    开班盛况

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2019-07-22(北京)

    开班盛况

    开班时间:2019-07-15(深圳)

    开班盛况
在线咨询
免费试听
入学教程
立即报名

Copyright 2011-2020 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公安网11010802011455号