本周小结(一)

116 阅读2分钟

HTML标签本身是没有块级标签和行内标签之分的,都是由CSS来决定的,平常我们区分哪些是块级标签和行内标签其实就是说浏览器默认给这些标签指定的样式。

图1
如图就是浏览器给div的默认样式


div的高度是由其内部文档流元素的高度总和决定的

  • 标准盒模型(content-box)

    width=内容的宽度

    height=内容的高度

  • IE盒模型(border-box)

    width=border + padding + 内容的宽度

    height= border + padding + 内容的高度

    两种模型切换的方式:box-sizing


    文档流是指文档内元素的流动方向

    行内元素从左往右,块级元素从上往下

    要善于利用文档流来做页面的布局,尽量减少使用widhtheight属性


    行内元素默认有建议行高,根据字体的类型和大小决定

    默认行高是字体大小的1.3倍

    heightline-height相等,会垂直居中


    fixed定位的元素只显示实际的宽度

    宽度固定时,设置margin-left :aust,margin-right:auto会居中

    getBoundingClientRect可以获取dom元素距离浏览器顶部的距离


    使用inline-block属性底部会有一段缝隙,要使用vertical-align:top消除bug


transition

  • 过渡可以为一个元素在不同状态之间切换的时候定义不同的过渡效果
  • 可以被指定为一个或多个 CSS 属性的过渡效果,多个属性之间用逗号进行分隔
  • 每个单属性转换都描述了应该应用于单个属性的转换(或特殊值all和none)
/* Apply to 1 property */
/* property name | duration */
transition: margin-right 4s;

/* property name | duration | delay */
transition: margin-right 4s 1s;

/* property name | duration | timing function */
transition: margin-right 4s ease-in-out;

/* property name | duration | timing function | delay */
transition: margin-right 4s ease-in-out 1s;

/* Apply to 2 properties */
transition: margin-right 4s, color 1s;

/* Apply to all changed properties */
transition: all 0.5s ease-out;
  • 零或一个值,表示转换应适用的属性
  • 零或一个 single-transition-timing-function 值表示要使用的过渡函数
  • 零,一或两个 time 值。可以解析为时间的第一个值被分配给 transition-duration,并且可以解析为时间的第二个值被分配给transition-delay

animation

animation属性用来指定一组或多组动画,每组之间用逗号相隔

single-animation-iteration-count

动画播放的次数。该值必须是animation-iteration-count可用的值之一。 single-animation-direction

动画播放的方向。该值必须是animation-direction可用的值之一。

single-animation-fill-mode

确定动画在执行之前和之后这两个阶段应用的样式。该值必须是animation-fill-mode可用的值之一。

single-animation-play-state

确定动画是否正在播放。该值必须是animation-play-state中可用的值之一。

MDN