X-UA-Compatible

  • IE8新加的一个设置,IE8以下浏览器不识别

  • 兼容性模式设置优先级:

    • 网页中指定的模式优先权高于服务器所制定的模式
    • 即 <mark>meta tag > http header</mark>
    <meta http-equiv="X-UA-Compatible" content="IE=7">
    # 以上代码告诉IE浏览器,无论是否用DTD声明文档标准,IE8/9都会以IE7引擎来渲染页面
    
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    # 以上代码告诉浏览器IE8/9及以后的版本都会以最高版本IE来渲染页面
    
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    # 以上代码chrome=1可以激活chrome frame
    

    注意:

    • X-UA-Compatible标头不区分大小写
    • 它必须在网页中除title元素和其他meta元素以外的其他元素之前,否则不起作用。
    • content的内容是IE=XXX,不能直接写值,否则不起作用。

meta

  • 关于viewport的设置详见:https://www.runoob.com/w3cnote/viewport-deep-understanding.html
  • 常用的head设置:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  • 这里meta标签的作用就是让当前viewport的宽度等于设备的宽度,同时不允许用户手动缩放,如果不这样设定的话,就会使用那个比屏幕宽的默认viewport,也就是layout viewout,这样就会出现横向滚动条。
  • <mark>移动设备上有三个viewport:</mark>
    • layout viewport: 移动设备为了正常显示那些为桌面浏览器设计的网站,一般会把viewport设为一个比较宽的值。
    • visual viewport:
      浏览器的可视区域大小
    • ideal viewport:
      移动设备的理想viewport,就是设备的屏幕宽度。

CSS

  • box-sizing: border-box;
  • outline: none;

rem

  • <mark>px</mark>

    • 相对长度单位,相对于示器屏幕分辨率而言
    • IE无法调整以px作为单位的字体大小
  • <mark>em</mark>

    • 相对长度单位,相对于当前对象内的字体尺寸大小。
    • 如当前对行内文本的字体尺寸未被人设置,则相对于浏览器的默认字体尺寸。
    • em的值并不是固定的,em会继承父级元素的字体大小。

    浏览器默认字高为16px,1em = 16px

为了简化换算,在body选择器设置font-size = 62.5%
,这样1em = 10px,那么就可以直接把原来的px除以10得到em的数值。要注意在父div中若重新设置了字体大小,那么在子div中的em就不再是以body中的设置作为标准了。就需要重新计算!!

  • <mark>rem</mark>

    • CSS3新增的一个相对单位,相对的是HTML根元素。
    • 除了IE8及更早版本外,所有浏览器均已支持rem.

    如果用户群都使用最新版的浏览器,推荐使用rem,如果考虑兼容性,就使用px或者两者同时使用。

tips

  • 对于没有设置Margin的行内Img元素,出现了间隔,原因:<mark>换行</mark>
  • 解决方案:
<img src="img/flower.png"/><!-- --><span>我的勋章</span><i></i>
  • 不换行,或者在行头行位添加注释标记

max-width

  • 常用来实现移动端img随屏幕大小而自由变换大小
img {
   
    max-width: 100%;
}
  • max-width相当于一个守门员,到了临界值才会去保证是这个最大值,如果外层div的宽度小于图片原始宽度,它就会发挥作用,max-width是控制溢出宽度、保证宽度不溢出。
  • 如果是默认宽度在父容器宽度范围之内,那就要使用min-width。
  • 移动端的实现通常配合设置外层div宽度为百分比来实现img的自由变换。

PC端和WAP端两套UI显示

  • 使用uaredirect进行判断是pc端还是wap端
  • 引入uaredirect.js
  • 跳转到你想跳转的页面
<!--加在index.html的head里面,如果是wap端就会显示跳转页面,pc页面就会正常显示index.html页面-->
<script type="text/javascript"> uaredirect("uiIndex.html"); </script>