发表于: 2018-07-21 23:19:24

2 586


前言:

    今天要完成的任务三


掌握的知识点总结:


1.em和px的区别:

  国内大部分网站采用px作为单位所以在IE下不能进行字体的放大,相反国外的网站却能在IE浏览器下进行字体的放大,为什么会这样子呢,归根结底是由于国外的网站全部采用em作为字体的单位,这就是区别所在。说了那么多,那到底px和em有什么区别呢,让我们拭目以待。

  Firefox是能够调整px和em的,但是我们知道国内的网民以Windows自带的IE浏览器居多数,所以掌握em和px的区别对于国内的前端开发人员来讲显得尤为重要。

  px属于相对长度单位。什么叫相对长度单位呢,就是相对于某一个参照物而言的。px就是相对于显示屏的屏幕分辨率而言的。

  em也属于相对长度单位,但是与px不同的是,em是相对于当前对象内文本的字体尺寸。如果当前对行内文本的字体尺寸未被设置的话,则相对于浏览器的默认字体尺寸。通常为16px。

  这里有个准则需要大家记住。就是所有未经人为调整的浏览器都符合1em=16px。那么就有10px=0.625em,一般为了简化font-size的换算。通常是在body选择器中声明font-size=62.5%,这也算是个技巧吧,这样子做的话。默认的1em=16px,就变成了1em=16px*62.5%=10px,所以换算就显得很方便了,比如说我要设置字体为18px的话,只要让font-size=1.8em即可,是不是很方便呀。

  这里介绍下em的一些特点:

  1、em的值并不是固定的;

  2、em会继承父级元素的字体大小。

2.margin

  margin如果设置的值为百分数的话,那么这个值时相对于父级元素的width计算的。绝对定位元素的百分比margin是相对于第一个定位祖先元素(relative/absolute/fixed)的宽度计算的。

  margin的默认值时0,但是在实际中,浏览器会对许多元素设置默认样式,margin也是其中一个。默认的margin会让每个段落的上面和下面生成空行。所以一般要去除默认样式的话,需要人为进行修改才行。 

  margin重叠通常特性:

                        1.发生在block水平元素(不包括float和absolute元素)

                        2.只发生在垂直方向上

                        3.相邻兄弟元素会重叠

  margin可以改变水平可视区域(clientWidth)的宽度:适用于没有设定width/height的普通block水平元素。

  margin与占据尺寸:

                                 1.block/inline-block水平元素均适用

                                 2.与有没有设定width/height值无关

                                 3.适用于水平方向和垂直方向

用于图片的上下留白(一般用padding来留白,但是除了Chrome浏览器,其他浏览器只能做到上留白,下留白不起作用)

 3.float探索:

  浮动元素不占据空间,用完以后一定要清除浮动,防止浮动造成坍塌。清除浮动常用方式:

*清除浮动*/
.com:after {

   content: '';
   display: block;
   clear: both;
}

4.基本认识:

  1.px是布局当中的css像素 
  2.em是相对父元素大小的单位,可以用来设置字体,行高,缩进等一些css属性 
  3.rem是根据根元素,也就是HTML元素的字体大小来计算的,因为rem单位都是根据根元素字体大小来计算的,所以我们就有了统一的参照标准,利用          rem我们可以实现移动端页面的适配。

设置了根元素html的字体大小之后,我们所有的尺寸属性都可以用rem单位来度量了,例如下图:

移动设备的话还要加上视口设置meta,同时为了适配不同的移动设备屏幕,需要进行根元素HTML的font-size修改。

总结起来有三要素:

                             1.设置viewport(<meta name="viewport" content="width=device-width,initial-scale=1, minimum-scale=1.0, maximum-scale=1, 

                                 user-scalable=no">

                             2.根据屏幕尺寸相应的设置根元素HTML的font-siz大小

                             3.布局元素用rem作为单位。如上图所示

如果根元素html设置了font-size的话,按照上图来解释的话,若width:250px那么换算过来就是250/50=5rem ,如果未设置的话就是1rem=16px。

6.视口单位:

根据CSS3规范,视口单位主要包括以下4个:

  vw : 1vw 等于视口宽度的1% 
  vh : 1vh 等于视口高度的1% 
  vmin : 选取 vw 和 vh 中最小的那个 
  vmax : 选取 vw 和 vh 中最大的那个 
  视口单位区别于%单位,视口单位是依赖于视口的尺寸,根据视口尺寸的百分比来定义的;而%单位则是依赖于元素的祖先元素。

  

7.img等比例缩放方式:

img{
 width:auto;
 height:auto;
 max-width:100%;
 max-height:100%;
}


遇到的问题:
1. 利用margin: 0 auto;让图片居中对齐,结果发现不起作用。

    解决方案:给图片设置宽度即可。

2.不知道rem如何声明:

   通过查询资料知道了,如果根元素html没有设置font-size字体大小的话,默认为font-size=16px=1rem,则如果

   width=144px,换算成rem的话,是width=144/16=9rem.

   如果设置了根元素html的话,<html style="font-size: 18px">,则要按照另外一种换算方式,width=144/18=9rem.

  因为10px=0.625rem,所以通常是设置根元素html为如下方式,这样设置的好处是,px换算成rem只要除以10即可,如width=122px=122/10=12.2rem.

<html lang="en" style="font-size: 62.5%;">


明天完成任务:

1.对任务三做个总结

2.完成任务四






返回列表 返回列表
评论

    分享到