盒模型

#1.盒模型的组成:
由里到外分别是content(内容),padding(内边距),border(边框),margin(外边距)

**#2.盒模型的两种标准:**标准模型 和 IE模型

#3.标准盒模型(默认)与IE盒模型的区别:
标准盒模型的width/height指的是content(内容)的宽高,而IE盒模型的width/height指的是content(内容)+padding(内边距)+border(边框)的宽高
IE盒模型的宽高不直观,容易出错,造成其他元素的错位
注意:图片中的boder应该是border
在这里插入图片描述

#4.css如何设置两种盒模型:(这里用到了CSS3 的属性 box-sizing)

	/* 标准模型 */
	box-sizing:content-box;

 	/*IE模型*/
	box-sizing:border-box;

#5.浏览器的兼容性:
##(1)盒模型的浏览器兼容性问题:
IE6、7、8在没有声明 情况下(怪异模式)使用IE盒模型;

==IE6、7、8在声明 ==<!DOCTYPE html>的情况下,==IE9及以上和chrome ==使用W3C盒模型;

==解决IE8及更早版本不兼容问题==:在HTML页面声明 <!DOCTYPE html>即可。

##(2)box-sizing属性的浏览器兼容性问题:
IE8及以上版本支持该属性(box-sizing),Firefox 需要加上浏览器厂商前缀-moz-,对于低版本的IOS和Android浏览器也需要加上-webkit-

  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
   box-sizing: border-box;
	/*每个前缀都写一遍确保可以在这些浏览器中都能使用*/
}

#6.JS获取宽高
(dom:代表获取的HTML节点 )
##(1). dom.offsetWidth/offsetHeight: 最常用,兼容性最好的(下面的几种了解一下)
##(2). dom.style.width/height: 只有dom的样式为 内联样式 才可以获取宽高,dom的样式为 嵌入式或外部式是无法获取宽高的
##(3) dom.currentStyle.width/height :这种方式获取的是在页面渲染完成后的结果,就是说不管是哪种方式设置的样式,都能获取到,但这种方式只有IE浏览器支持。
##(4) window.getComputedStyle(dom).width/height:这种方式的原理和(3)是一样的,这个可以兼容更多的浏览器,通用性好一些。
##(5) dom.getBoundingClientRect().width/height:这种方式是根据元素在视窗中的绝对位置来获取宽高的

##CSS的三种样式:
内联样式: 把css代码直接写在现有的HTML标签中
嵌入式: 把css样式代码写在style标签之间
外部式: 把css代码写一个单独的外部文件(.css为扩展名)中,在head标签中通过link标签链入文件在,如下面代码:
三种样式优先级:内联式 > 嵌入式 > 外部式(一般情况下),满足就近原则:谁离被设置的元素越近谁就优先级越高,这里离得近是看在嵌套的第几层 而不是代码离得近

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值