1.继承

css的继承:就是给父级设置一些属性,子级继承了父级的该属性,这就是我们css中的继承。官方的解释,继承是一种规则,它允许样式不仅应用于特定的html标签元素,而且应用于其后代元素。

a.有继承的属性

1.字体系列属性

font:组合字体

font-family:规定元素的字体系列

font-weight:设置字体的粗细

font-size:设置字体的尺寸

font-style:定义字体的风格

2.文本系列属性

text-index:文本缩进

text-align:文本水平对齐

line-height:行高

word-spacing:增加或减少单词间的空白,即字间隙

letter-spacing:增加或减少字符间的空白,即字符间距

direction:规定文本的书写方向

color:文本颜色

3.元素的可见性

visibility

4.光标属性

cursor

5.所有元素可以继承的属性

visibility/cursor

6.内联元素可以继承的属性

字体系列属性/除text-indent,text-align之外的文本系列属性

7.块级元素可以继承的属性

text-align/text-indent

b.无继承的属性

1.display

2.文本属性

vertical-align:垂直文本对齐

text-shadow:文本阴影效果

white-space:空白符

3.盒子模型属性

width/height/margin/border/padding

4.背景属性

background/background-color/background-image/background-repeat/background-position

5.定位属性

float/clear/position/top/right/bottom/left/z-index/overflow

6.轮廓样式属性

outline

2.css预处理工具

css预处理器是一个能让你通过预处理器自己独特语法生成css的程序

  • sass
  • 兼容css

    扩展名.scss/.sass
  • less

    兼容css

    扩展名.less
  • stylus

    兼容css

    扩展名.styl

    采用缩进语法

3.行内元素/块级元素

  • 块级元素

    1.总是从新的一行开始,即各个块级元素独占一行,默认垂直向下排列

    2.高度,宽度,margin,padding都是可控的,设置有效

    3.宽度没有设置时,默认为100%

    4.块级元素中可以包含块级元素和行内元素
  • 行内元素

    1.和其它元素在一行,即行内元素和其它元素都会在一条水平线上排列

    2.高度,宽度是不可控,设置无效,由内容决定

    3.根据标签语义化的理念,行内元素最好只包含行内元素,不包含块级元素
  • 转换

    1.display:inline转换为行内元素

    2.display:block转换为块状元素

    3.display:inline-block转换为行内块状元素
  • 块状元素可以继承的属性

    Text-indent

    Text-align

    Visibility

    Cursor

4.盒模型

css盒模型本质是一个盒子,封装html元素,包括margin/border/padding/content

  • 标准模型

    width=content
  • ie模型

    width=border+padding+content
  • 自定义

    Box-sizing:content-box(默认模式)

    Box-sizing:border-box(ie模式)
  • js获取盒模型宽高

    dom.style.width/height 获取行内样式的宽高

    window.getComputedStyle(dom).width/height ie模式下

    Dom.getBoundingClientRect().width/height 渲染后的宽高

    dom.offsetWidth/offsetHeight 内容+内边距+边框不包括外边距

5.bfc块级格式化上下文

  • 概念:bfc是css布局的一个概念,是一个独立的渲染区域,是一个环境,里面的元素不会影响外部的元素。
  • 问题:父子元素和兄弟元素边距重叠,重叠原则取最大值,空元素的边距重叠取margin和padding的最大值
  • css创建bfc,脱离文档流

    1.html元素

    2.浮动

    3.绝对定位

    4.display:inline-block

    5.表格元素

    6.弹性盒子

    7.overflow:hidden
  • 使用场景

    1.自适应布局,避免多列布局由于宽度计算四舍五入换行

    2.避免元素被浮动元素覆盖

    3.父元素高度包含子浮动元素,清除内部浮动

    4.去除边距重叠,分别属于不同的bfc

6.ifc行内格式化上下文

1.内部的box会在水平方向,一个接一个的放置

2.这些box的水平方向的margin/border/padding都有效

3.对齐方式line-height/vertical-align

css面试题一的更多相关文章

  1. 前端Html和Css面试题

    前端Html和Css面试题Html篇:1.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? IE: trident内核 Firefox:gecko内核 Safari:webkit内核 Ope ...

  2. 一道灵活的css笔试题

    今天在网上看到一css笔试题,乍一看很简单,实则内部暗藏玄机,题目大概是:九宫格,每格长宽50px,边框宽度5px,鼠标经过边框变红,效果如下: 鼠标路过时: 以下是代码(如有不足之处望多加指正) & ...

  3. 2019前端面试系列——CSS面试题

    盒模型 /* 红色区域的大小是多少?200 - 20*2 - 20*2 = 120 */ .box { width: 200px; height: 200px; padding: 20px; marg ...

  4. CSS面试题&知识点汇总

    问题&答案 介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? 有两种, IE 盒子模型.W3C 盒子模型: 盒模型: 内容(content).填充(padding).边界(m ...

  5. css面试题汇总 (持续更新)

    前言:这篇随笔是为了准备后面的面试而整理的,网上各种面试题太多了,但是我感觉很多太偏了,而且实际开发过程中并不会遇到,因此这里我整理一些比较常用的,或者是相对比较重要的知识点,每个知识点都会由浅入深, ...

  6. HTML css面试题

    1.对WEB标准以及W3C的理解与认识 标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率.使用外链css和js脚本.结构行为表现的分离.文件下载与页面速度更快.内容能被更多的用户所访问.内容能被更 ...

  7. 【css面试题】三个DIV要求水平对齐,左右两个DIV宽度固定为100px,中间那个DIV充满剩余的宽度(至少2种方法)

    这是我在一家公司面试时遇到的问题,当时没有答上来!! 所以看到的小伙伴一定要注意了!! 变化浏览器宽度可看到效果: 左 右 中 然后我们来看看代码: 第一种方法:(浮动) <style type ...

  8. 记一道css面试题 : 三栏布局两边宽度固定,中间宽度自适应,并且布局随屏幕大小改变。

    前几天面试时有道css题没做出来,回来好好学习一番后把其记录下来. 题目是这样的:左中右三栏布局,左右两栏宽度固定,左右两栏的宽度为200像素,中间栏宽度自适应.当屏幕小于600px时,3栏会分别占用 ...

  9. CSS面试题

    1.有哪些方式可以对一个DOM设置它的CSS样式? 外部样式表.引入一个外部CSS文件: 内部样式表.将CSS代码放在<head>标签内部: 内联样式,将CSS样式直接定义在HTML元素内 ...

  10. CSS笔试题

    如何实现移动端9宫格 如何实现移动端下列8宫格 实现移动端图片画廊CSS样式 写一个简单的animation的css动画 美化select,radio,range样式,只需考虑谷歌浏览器,下面给出的是 ...

随机推荐

  1. js 字符串格式数组转为数组对象

    工作中经常会遇到将json字符串转换为json对象,但是将字符串格式数组转为数组对象的场景却不多 如: 其中label_exp: "["cap_pop","wk ...

  2. python 学习之----time模块

    # timeimport time# # #1 获取时间戳# # print(time.time())# # #2 获取格式化时间对象# # #获取默认参数是当前系统时间戳# # print(time ...

  3. JVM 诊断神器-Arthas实战

    什么是Arthas(阿尔萨斯) 阿里开源的Java诊断工具,它可以在运行时对Java应用程序进行动态诊断和调试 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决 这个类从哪个 jar 包加 ...

  4. 解决NAT模式下SSH连接虚拟机

    解决NAT模式下SSH连接虚拟机 简介: 用到的有软件:VirtualBox6.1,RetHat7.4 , SmartTTY 来由: 刚开始使用桥接模式(Bridged)网络连接,但是虚拟机没有网络. ...

  5. 一个支持WinForms换肤的开源组件

    推荐一个一键换肤的WinForms皮肤组件. 项目简介 这是一个支持自定义WinForms窗口.控件颜色.禁用状态.动画效果的皮肤组件. 支持的组件有:多选框.分割线.按钮.文本框.单选按钮.输入框. ...

  6. 如何使用libavfilter库给输入文件input.yuv添加视频滤镜?

    一.视频滤镜初始化 本次代码实现的是给输入视频文件添加水平翻转滤镜,在视频滤镜初始化部分我们可以分为以下几步进行: 1.创建滤镜图结构 视频滤镜功能最核心的结构为滤镜图结构,即AVFilterGrap ...

  7. XTTS系列之四:迷迷糊糊的并行度

    项目测试组又反馈一个问题,XTTS执行全量备份速度慢,影响测试进度. 实际算了下,平均速度才150MB/s.. 这个速度在客户生产环境的确是不够看,首先询问是否开了并行,开了多少? 回复是说有开32个 ...

  8. Kurator v0.4.0版本更新4大内容,满足多云环境的复杂需求

    摘要:在最新发布的 v0.4.0 版本中,Kurator 进一步丰富了分布式云原生场景下的应用统一管理能力,以便更好地满足多云环境的复杂需求. 本文分享自华为云社区<Kurator v0.4.0 ...

  9. Pyinstaller打包 Pytest+Allure成exe文件执行时,报错ERROR: usage: apitest.exe [options] [file_or_dir] [file_or_dir] [...] xxx.exe: error: unrecognized arguments: --alluredir=.\\report\\xml --clean-alluredir

    网上找了很多案例啊  都没解决问题,由本人的多次试验 终于成功解决 1.打包运行 pyinstaller -D  xxx.py 打包成功后  执行exe报错  如下 2.此情况是说明  命令无法正确识 ...

  10. 论文日记三:ResNet

    导读 ResNet在ILSVRC 2015竞赛中大放异彩,其核心模块residual block使得卷积网络模型深度提高一个数量级,到达上百.上千层.在今天cv领域我们也经常用到它或它的变种,pape ...