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. 【GPT-4理论篇-1】GPT-4核心技术探秘

    前言 GPT-4已经发布有一段时间了,但是出于安全性等各种原因,OpenAI并没有公布GPT-4的技术细节和代码,而是仅仅给出了一个长达100页的技术报告[1]. 这个技术报告着重介绍了GPT-4的强 ...

  2. Kubernetes(k8s)定时任务:CronJob

    目录 一.系统环境 二.前言 三.Kubernetes CronJob简介 四.kubernetes CronJob和Linux crontab对比 五.CronJob表达式语法 六.创建CronJo ...

  3. OSI7层模型和TCP/IP模型

    前言 在计算机网络领域中,OSI7层模型和TCP/IP模型是两个重要的概念.本文将对这两个模型进行介绍和比较,让大家了解它们的区别和联系. 目录 前言 OSI7层模型 TCP/IP模型 OSI7层模型 ...

  4. MySql InnoDB 存储引擎表优化

    一.InnoDB 表存储优化 1.OPTIMIZE TABLE 适时的使用 OPTIMIZE TABLE 语句来重组表,压缩浪费的表空间.这是在其它优化技术不可用的情况下最直接的方法.OPTIMIZE ...

  5. chatgpt入口,免费在线chatgpt--与人工智能聊天?尝试chatgpt入口,免费在线chatgpt吧!

    介绍一款人工智能聊天机器人--chatgpt入口 chatgpt是一款智能聊天机器人,它能够与人类进行自然语言对话,可以回答问题.提供建议,还可以玩游戏和聊天互动,是当前最受欢迎的人工智能聊天工具之一 ...

  6. JetBrain学信网注册(Clion)

    一.打开网站 首先打开JetBrains关于学生认证的网站:https://www.jetbrains.com/shop/eform/students,可以看见以下页面: 二.人工验证 人工验证适合于 ...

  7. 从Kafka中学习高性能系统如何设计

    1 前言 相信各位小伙伴之前或多或少接触过消息队列,比较知名的包含Rocket MQ和Kafka,在京东内部使用的是自研的消息中间件JMQ,从JMQ2升级到JMQ4的也是带来了性能上的明显提升,并且J ...

  8. AI-3线性回归

    3.1笔记 线性回归假设y与多个x之间的关系是线性的,且噪声符合正态分布. 线性模型则是对输入特征做仿射变换Y^ = W * X+b,其中Y^为预测值,我们希望预测值与真实值Y的误差最小.那如何衡量这 ...

  9. Task Execution and Scheduling In SpringBoot

    开天辟地 Task Execution and Scheduling In the absence of an Executor bean in the context, Spring Boot au ...

  10. WakaTime Readme Stats-开源项目翻译

    寻找不同语言和地区的翻译 #23 Readme中添加了功能标志的开发指标 眼前一亮的Readme统计数据 你是早起的还是夜间的? 你一天中什么时候工作效率最高? 你用什么语言编写代码? 让我们在你的个 ...