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. AcWing900.整数划分(python)

    题目详情 知识点 计数类DP 分析题目,k个数是默认排好序的,也就是说,对于划分我们的考虑是无序的:例如 4 = 1+1+2 4 = 1+2+1 4 = 2+1+1 以上三种方式是没有区别的,所以在求 ...

  2. docker快速启动proxy_pool项目

    docker快速启动proxy_pool项目 项目地址:https://github.com/jhao104/proxy_pool 0x01 搭建redis 该项目是基于redis的,所以我们首先需要 ...

  3. drf——全局处理异常、接口文档、jwt介绍、based64编码与解码

    全局异常处理原理 # 对于前端来讲,后端即便报错,也要返回统一的格式,前端便于处理 {code:999,msg:'系统异常,请联系系统管理员'} # 只要三大认证,视图类的方法出了异常,都会执行一个函 ...

  4. Java二维数组以及多维数组的定义及应用

    一.二维数组以及多维数组 1.二维数组的定义: ​ 在一维数组中定义每一个元素也是一个数组元素,这样的数组称为"二维数组" ​ 多维数组就是在一维数组上再次定义二维数组或三位数组等 ...

  5. 南洋才女,德艺双馨,孙燕姿本尊回应AI孙燕姿(基于Sadtalker/Python3.10)

    孙燕姿果然不愧是孙燕姿,不愧为南洋理工大学的高材生,近日她在个人官方媒体博客上写了一篇英文版的长文,正式回应现在满城风雨的"AI孙燕姿"现象,流行天后展示了超人一等的智识水平,行文 ...

  6. rust随笔

    # 第二章 语言精要 ​ 好读书,不求甚解:每有会意,便欣然忘食. **动手,动手,动手!!!** ## 语句与表达式 Rust 中语法可以分成两大类:语句 statement 和表达式 expres ...

  7. Maven进阶

    前言 在项目开发的过程中,我们通常要使用到外部依赖的组件,同时也会使用某些插件来帮助我们管理项目.例如,我们访问数据库的时候需要使用到jdbc组件,我们可以下载对应的jar包去加载到我们的应用中.在我 ...

  8. JS逆向实战20——某头条jsvm逆向

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 网站 目标网站:aHR0c ...

  9. Prometheus-3:一文详解promQL

    读前提示: 本文字数较多且紧凑,最好预留15min一次性看完,好营养,易吸收. promQL详解 Prometheus提供了内置的数据查询语言PromQL(全称为Prometheus Query La ...

  10. Vue基础介绍

    一.Vue基本介绍 1.Vue.js目前最火的的一个前端框架,三大主流前端框架之一.与其他重量级框架不同的是,Vue采用自底向上增量开发的设计.Vue的核心库只关注视图层. 2.Vue.js是一套构建 ...