zoukankan      html  css  js  c++  java
  • 响应式布局

    先看一小例子:

    <!DOCTYPE html>
    <html lang="zh">
    
    <head>
        <meta charset="UTF-8">
        <title>css响应式</title>
        <style>
        body {
            padding: 0;
            margin: 0;
        }
        
        .container {
            width: 600px;
            background: red;
            height: 80px;
        }
        /*当页面最小宽度满足600px时调用*/
        
        @media only screen and (min- 600px) {
            .container {
                background: #000;
            }
        }
        </style>
    </head>
    
    <body>
        <div class="container">
            内容
        </div>
    </body>
    
    </html>

    大于600px,显示黑色

    小于600px,显示红色

    <!-- 在移动端适配需要加上 -->

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

    不允许手机缩放

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

    @media引入方式:

    1、CSS中使用:

    @media screen and (max- 600px) {
        选择器 {
          属性:属性值;
        }
    
    
        选择器 {
          属性:属性值;
        }
     
      }

    2、link方法引入:

    <link rel="stylesheet"  href="style.css" media="screen and (min-600px)" >

    Media Query 条件:

    1、样式适用于宽度小于480px的

    <link rel="stylesheet" media="screen and (max-device- 480px)" href="iphone.css" type="text/css" />

    2、针对iphone4s

     <link rel="stylesheet" media="only screen and (-webkit-min-device-pixel-ratio: 2)" type="text/css" href="iphone4.css" />

    3、iPad在纵向(portrait)时采用portrait.css来渲染页面;在横向(landscape)时采用landscape.css来渲染页面

    <link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css" type="text/css" /> 
    <link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css"  type="text/css" />

    4、android

     /*240px的宽度*/
      <link rel="stylesheet" media="only screen and (max-device-240px)" href="android240.css" type="text/css" />
      /*360px的宽度*/
      <link rel="stylesheet" media="only screen and (min-device-241px) and (max-device-360px)" href="android360.css" type="text/css" />
      /*480px的宽度*/
      <link rel="stylesheet" media="only screen and (min-device-361px) and (max-device-480px)" href="android480.css" type="text/css" />

    IE8和之前的浏览器不支持CSS3 media queries,你可以在页面中添加css3-mediaqueries.js来解决这个问题

    <!--[if lt IE 9]>
        <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
    <![endif]-->



    响应布局的注意事项:

    未经调整的浏览器都符合: 1em=16px,为了方便em与px进行转换计算,希望1em=10px,怎么做呢? 让16除以10就可以了,1em=16px*0.625=10px;

    字体设为62.5%

    html{font-size:62.5%;} 

    设置最小宽度和最大宽度,

    min-width 和 max-width

    布局尽量用百分比,不固定像素

    使用怪异盒模型,避免内容大的时候撑大

    box-sizing:border-box;
  • 相关阅读:
    《程序员修炼之道:从小工到专家》读后感2
    Java第五节课总结
    FirstJavaWeb
    Java第四节课总结
    《程序员修炼之道:从小工到专家》读后感1
    Java第三节课总结
    递归回文
    原码、补码和反码
    Java第二节课总结
    C++ STL的容器类型
  • 原文地址:https://www.cnblogs.com/tinyphp/p/4792542.html
Copyright © 2011-2022 走看看