博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
css面试题
阅读量:6293 次
发布时间:2019-06-22

本文共 1479 字,大约阅读时间需要 4 分钟。

1.页面布局

  • 题目:假设高度已知,请写出三栏布局,其中左栏、右栏宽度各为300px,中间自适应

答案:

  • 浮动布局

复制代码

  • 绝对定位

  • flexbox

复制代码

  • table布局

复制代码

  • 网格布局(grid)

复制代码

优缺点

1.flaot:缺点:脱离文档流处理起浮动周边的DOM元素比较复杂;优点:兼容性比较好;

2.绝对定位:缺点:布局脱离文档流导致其子元素也要脱离文档流,可使用性比较差优点:快捷;

3.flex:优点:解决float和绝对定位的问题,比较流行

4.table布局:缺点:高度宽度问题;优点:兼容性好(flex不兼容IE8)

5.grid布局:缺点:;优点:代码量少

扩展:

去掉高度已知:flex、table不受影响;

页面布局的变通:

三栏布局

  • 左右宽度固定,中间自适应
  • 上下高度固定中间自适应

两栏布局

  • 左宽度固定,右自适应
  • 右宽度固定,左自适应
  • 上高度固定,下自适应
  • 下高度固定,上自适应

2.css盒模型

  • 基本概念:标准模型 + IE模型
  • 标准模型和IE模型和区别(计算宽度和高度)IE模型计算
  1. content+padding和border
  • css如何设置这两种模型:
  1. box-sizing:content-box;box-sizing:border-box;
  • js如何获取盒模型的宽和高:
  1. dom.style.width/height(内连样式宽和高);
  2. dom.currentStyle.width/height(只有IE支持);
  3. window.getComputedStyle(dom).width/height(最常用);
  4. dom.getBoundindClieentRect().width/height;(top,left,width,height)
  • 实例题(根据盒模型解释边距重叠)
  1. 父子边距重叠 (父元素不设置高度,子元素设置高度和外边距,父元素高度等于子元素高度)
  2. 兄弟元素边距重叠(下外边距和上边距重叠取最大值)
  3. 边距重叠解决方案:创建BFC
  • BFC(边距重叠解决方案)
  1. 概念:块级格式化上下文
  2. 原理:元素垂直方向的边距重叠;BFC的区域不会与浮动元素的box重叠;BFC在页面上是一个独立的容器,外面的元素不会影响里面的元素,反过来,里面的元素也不会影响外面的元素;计算BFC高度的时候浮动元素也会参与计算;
  3. 创建BFC方式:overfloat不为visible;float值不为none;position值不为static和relative;display:table,table-cell,table-caption

转载于:https://juejin.im/post/5c726f49e51d453eb7802233

你可能感兴趣的文章
常用链接
查看>>
pitfall override private method
查看>>
!important 和 * ----hack
查看>>
聊天界面图文混排
查看>>
控件的拖动
查看>>
svn eclipse unable to load default svn client的解决办法
查看>>
Android.mk 文件语法详解
查看>>
QT liunx 工具下载
查看>>
内核源码树
查看>>
Java 5 特性 Instrumentation 实践
查看>>
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>