《奇舞团特训营》课程笔记(一)——响应式设计常见方法总结

viewport

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

不建议设置禁止用户缩放:user-scalable:no

图片展示

大图随容器自动缩放,保持固定高宽比

max-width:100%

背景图片

//背景图片
background-size:cover;//用于背景图片不是很重要的场合,因为图片可能被裁剪掉
background-size:contain;//用于背景图片信息比较重要的场合,不希望图片被裁剪

保持固定高宽比

<div></div>
<style>
    div{
      height:0;
      padding-top:50%;     //padding设置的是相对于父元素的宽度,这样就可以保证这是一个高宽比一定的盒子
    }
</style>

设置了高宽比一定的盒子之后,再用绝对定位的方式填充中间内容。

也可以用这个容器包裹图片,因为在响应式设计中,图片的宽度没有设定,那么在加载图片的时候可能会产生抖动,所以用高宽比固定的盒子去包裹图片可以解决这个问题。

两栏自适应布局

float与BFC

绝对定位

模拟table

flex布局

导航栏

nav{
    display:table;
}
nav a{
    display:table-cell;
}

手机里显示不下时,可以设置一个滚动处理

nav里面嵌套一个ul,设置为display:table;nav设置为over-flow:scroll;

网格布局,自动换行

inline-block+justify或者flex

ul{
    margin:0;
    padding:0;
    text-align:justify;
}

li{
    display:inline-block;
    width:30%;  //根据网页的设计需求设定。也可能是固定宽度,能排几个排几个
    height:0;
    padding-top:20%;  //固定宽高比
}

media query

针对不同屏幕,使用不同样式

<link rel='stylesheet' href='m.css' media='screen and (max-width:480px)'>

@media screen and(min-width:480px) {
  .selector {...}
}
 <nav>
        <a href="#"> Home </a>
        <a href="#"> JavaScript </a>
        <a href="#"> HTML </a>
        <a href="#"> CSS </a>
        <a href="#"> HTTP </a>
    </nav>

//css

body {
    margin: 0;
}

nav {
    display: flex;
    width: 100%;
    background: #00BCD4;
}
nav a {
    flex: 1;
    text-decoration: none;
    color: #fff;
    padding: 0 1em;
    font: normal 14px/2 HElvetica, sans-serif; 
}

nav a:not(:first-child) {
    border-left: 1px solid rgba(255,255,255,.7);
}
@media screen and (max-width: 480px) {
   nav {
    flex-direction: column;
   }
   nav a:not(:first-child) {
    border-left: none;
    border-top: 1px solid rgba(255,255,255,.7);
   }
}

字体设置rem

html {
 font-size:16px;
}
h1 {
 font-size:2rem;
}
p {
font-size: 1rem;
}

@media screen and (max-width: 1000px){
  html {
   font-size: 14px;
  }
}
@media screen and (max-width: 720px) {
    html {
      font-size:12px;
    }
  }

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值