学习随笔

盒模型分为IE盒模型和W3C标准盒模型。

  1. W3C 标准盒模型:
    属性width,height只包含内容content,不包含border和padding。
  2. IE 盒模型:
    属性width,height包含border和padding,指的是content+padding+border。

在ie8+浏览器中使用哪个盒模型可以由box-sizing(CSS新增的属性)控制,默认值为content-box,即标准盒模型;如果将box-sizing设为border-box则用的是IE盒模型。如果在ie6,7,8中DOCTYPE缺失会触发IE模式。在当前W3C标准中盒模型是可以通过box-sizing自由的进行切换的。

2.bfc:特性

1.BFC是独立的渲染区域
2.bfc计算高度时浮动也参与计算
3.bfc的区域不回与float box重叠
4.同属一个bfc相邻的元素(BOX)边距(margin)会发生重叠

BFC 有什么用?
有了 BFC 我们就可以利用它来解决一些问题。比如:浮动导致的父元素高度坍塌,甚至我们还可以利用 BFC 的特性来实现多栏自适应布局。

浮动导致的父元素高度坍塌利用了【计算BFC的高度时,浮动元素也参与计算】这一特性实现的。

实现多栏自适应布局是利用了【BFC的区域不会与float box重叠】这一特性实现的。

外边距重叠(取最大的外边距值),可利用【BFC 是一个独立的区域】这一特性来解决。
(https://juejin.im/post/5e8d36ac51882573ab44fdec#heading-0
)

BFC创建方法

1.根元素(html)
2.float的值不是none
3.position的值不是static或者relative
4.display的值是inline-block,table-cell,flex,
5.overflow的值不是visible

去重

let person = [
     {id: 0, name: "小明"},
     {id: 1, name: "小张"},
     {id: 2, name: "小李"},
     {id: 3, name: "小孙"},
     {id: 1, name: "小周"},
     {id: 2, name: "小陈"},  
];
 
let obj = {};
 
let peon = person.reduce((cur,next) => {
    obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
    return cur;
},[]) //设置cur默认类型为数组,并且初始值为空的数组
console.log(peon);
6.数组去重

var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index)  
console.log(arr2); //[1, 2, 3, 4, 5, 6, 7, 8, 0, 56]
###########################################
var arr=[1,2,1,'1',null,null,undefined,undefined,NaN,NaN]
let res=Array.from(new Set(arr));//{1,2,"1",null,undefined,NaN}
//or
let newarr=[...new Set(arr)]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 必考:两种盒模型分别说一下。IE盒模型border-box和W3C盒模型content-box。区别在于IE的co...
    吴一晏阅读 485评论 0 51
  • 1、promise详解 https://blog.csdn.net/yunbabac/article/detail...
    王道无谓阅读 337评论 0 1
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,866评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,649评论 5 15
  • 一 心得体会 前面学习了HTML元素构建网页结构,学习了css文字属性和文本属性,今天在页面修饰方面更进一步,学习...
    前端唠唠嗑阅读 293评论 0 0