CSS(4)-媒介查询,响应式布局, 弹性盒子布局

//打印和屏幕显示不同的字体和字体大小。
@media screen {
  p.text{font-family:"Trebuchet MS", Verdana, sans-serif;
    font-size: 14px;}
}
@media print {
  p.text{font-family:"Times New Roman", Times, Georgia, serif;
    font-size: 10px;}
}
@media screen,print{
  p.text{font-weight: bold}

//屏幕大于600px小于900px的窗口应该应用的样式
@media screen and (min-width: 600px) and (max-width: 900px){
  .header1 {
    background: #ccc;
  }
}
//判断屏幕方向orientation和屏幕的纵横比device-aspect-ratio

这里写图片描述
这里写图片描述
笔记本电脑:
这里写图片描述
台式电脑
台式电脑

小屏幕手机:320像素以下
大屏手机:320px~768px
平板电脑:768~1024px
PC:1024及以上

响应式设计需要考虑转屏:

<link rel="stylesheet" href="portrait.css" media="screen and (orientation:portrait)"/>
    <link rel="stylesheet" href="landscape.css" media="screen and (orientation:landscape)"/>
window.addEventListener('orientationchange', function (obj) {
    //编写出发屏幕转屏时的操作
});
只有简单页面才会手写媒介查询,复杂页面往往会采用各种响应式的框架来简化和规范开发
    <meta name="viewpot" content="width=device-width,initial-scale=1.0"/>
    <!-- 使用viewport meta标签在手机浏览器上控制布局-->
    <meta name="apple-moblile-web-app-capable" content="yes"/>
    <!-- 通过快捷方式打开时全屏显示-->
    <meta name="apple-mobile-web-app-status-bar-style" content="yes"/>
    <!-- 隐藏状态栏-->
    <meta name="format-detection" content="telephone=no"/>
使用media-queries.js或者respond.js让IE 9以下的支持响应式设计
    <!--[if lt IE 9]>
    <script src="css3-mediaqueries.js"></script>
    <![endif]-->

简单的响应式导航栏。
@media screen and (max-width:320px){
  .logo{height: 40px;
    display:block;}
  .header{height:40px}
  li {line-height:50px;padding:0 15px 0 15px;
  display:block;
  text-align: center;
  border-top:1px solid black}
}

@media screen and (min-width:320px) and (max-width:765px){
  .logo{height:50px;
    display:block;}
  .header{height:50px}
  li{
    line-height:50px;
    padding: 0 15px 0 15px;
    display: block;
    text-align: center;
    border-top:1px solid black
  }
}

@media screen and (min-width:765px) {
  .logo{height:60px;
    display:block;
  float:left}
  .header{height:60px}
  li{
    line-height:50px;
    padding: 0 15px 0 15px;
    display: block;
    float:left;
    text-align: center;
    border-top:1px solid black
  }
}

电脑下载仿真手机浏览器:Opera Mobile Emulator。
chrom调试工具也可以实现手机触屏版和电脑版的切换。
页面响应式布局,和触屏版和电脑版两套方案。

弹性盒子布局

不存在浮动元素脱离正常文档流后需要在某些地方清除浮动的问题

浮动布局存在加载顺序问题

弹性盒子首先对父元素声明:

        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;

        //对盒子元素设置比例
        -webkit-box-flex: 1; /* OLD - iOS 6-, Safari 3.1-6 */
        -moz-box-flex: 1; /* OLD - Firefox 19- */
        -webkit-flex: 1; /* Chrome */
        -ms-flex: 1; /* IE 10 */
        flex: 1;

        //设置盒子排列的方向是横向
        -webkit-box-orient: horizontal;
        -moz-box-orient: horizontal;
        box-orient: horizontal;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值