秋招面试—CSS篇

2021 CSS面试题

1.CSS可继承属性有哪些?

  • 文字相关:font-famliy 、font-weight 、font-size 、font-style
  • 文本相关:text-indent(首行缩进) 、text-align(水平对齐) 、line-height 、text-transfrom(文本大小写) 、word-sacping (字符间距)、letter-spacing 、color
  • 元素可见性:visibility
  • 列表布局:list-style
  • 光标:cursor

2.display的属性值有哪些?

none:元素不显示

block:块级元素

inline:行内元素

inline-block:行内块元素

table:表格

list-item:块类型元素

inherit:从父级继承display属性

🌰对list-item了解吗?

3.display 的block、inline、inline-block有什么区别?

block:块级元素,独占一行,多个元素另起一行。

inline:行内元素,宽高,水平方向的margin、padding都无效。

inline-block:对象设置为inline对象,对象内容作为为block呈现。

4.隐藏元素的方法有哪些?

display:none

visibility:hidden

opacity:0

position:absolute

clip-path:

transform:scale(0,0)

z-index:负值

5.link和import的区别?

<1>.link 是XHTML标签,不仅能加载CSS,还能加载RSS;而import只能加载CSS.

<2>.引入CSS,页面载入时同时加载;import需要等待页面载入之后才加载。

<3>.link 可以通过JS控制DOM来改变样式,而import不行。

🌰什么是RSS? 怎么实现通过JS控制DOM来改变样式?

6.display:none 和 visibility:hidden 的区别

display:none 隐藏的元素会从渲染树上完全消失,不会占用任何空间,它的子元素也会跟着一起消失;

visibility:hidden 隐藏的元素不会从渲染树上完全消失,会占用一定的空间,如果想让子元素显示,可以给子元素设置visible

7.对盒模型的理解?

普通标准盒模型一般由四部分组成,content、padding、border、margin

标准盒模型:宽高的范围只包含了 content;

IE盒模型:宽高的范围为content、padding、border;

可以通过修改 box-sizing: content-box/border-box改变盒模型。

8.CSS3中的新特性

圆角边框:border-radio

文字特效:text-shadow

文字渲染:text-decoration

阴影与反射:shadoweflect

多列布局:mult-column layout

线性渐变:gradient

旋转:transform

9.伪元素(::)和伪类(:)有什么区别?

伪元素(::):以双冒号形式存在,在元素前后插入新的元素或样式,只存在于页面中,不存在于DOM 中;

伪类(:):将特定的样式添加到特定的元素上。

🌰有哪些特定的样式可以使用伪类添加?

10.对BFC的理解

BFC是为了解决以下几个问题:

​ <1>.margin重叠

​ <2>.高度塌陷

​ <3>.创建自适应两栏布局

如果要实现两栏布局,左边设置float:left,右边overflow:hidden,这样右边就不会触发BFC,BFC区域不会与浮动元素发生重叠。

11.什么是margin重叠

垂直方向两个块级元素,上面元素的margin-bottom(下外边距)和下面元素的margin-top(上外边距)可能会合并为一个margin(外边框),大小取决于外边距最大的那个,这就照成了margin重叠。

12.元素的层叠顺序

背景/边框 —> z-index:负值 —> 块级盒子 —> 浮动盒子 —> 行内盒子 —> z-index:0 —> z-index:正值

13.水平垂直居中的实现

  • 利用绝对定位,先将元素的左上角通过top:50%和left:50%定位到页面的中心,然后再通过translate来调整元素的中心点到页面的中心。该方法需要考虑浏览器兼容问题。
.parent {
    position: relative;
}
 
.child {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
  • 利用绝对定位,设置四个方向的值都为0,并将margin设置为auto,由于宽高固定,因此对应方向实现平分,可以实现水平和垂直方向上的居中。该方法适用于盒子有宽高的情况:
.parent {
    position: relative;
}
.child {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
  • 利用绝对定位,先将元素的左上角通过top:50%和left:50%定位到页面的中心,然后再通过margin负值来调整元素的中心点到页面的中心。该方法适用于盒子宽高已知的情况
.parent {
    position: relative;
}
 
.child {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -50px;     /* 自身 height 的一半 */
    margin-left: -50px;    /* 自身 width 的一半 */
}
  • 使用flex布局,通过align-items:center和justify-content:center设置容器的垂直和水平方向上为居中对齐,然后它的子元素也可以实现垂直和水平的居中。该方法要考虑兼容的问题,该方法在移动端用的较多:
.parent {
    display: flex;
    justify-content:center;
    align-items:center;
}

  • calc动态计算 : 与上方距离[50%上层外框高度 - 50%当前div高度]
.div0{
    width:200px;
    height:150px;
    border:1px solid #000;
}
.redbox{
    position:relative;
    width:30px;
    height:30px;
    background:#c00;
    float:left;
    top:calc(50% - 15px);
    margin-left:calc(50% - 45px);
}
.greenbox{
    position:relative;
    width:30px;
    height:80px;
    background:#0c0;
    float:left;
    top:calc(50% - 40px);
}
.bluebox{
    position:relative;
    width:30px;
    height:40px;
    background:#00f;
    float:left;
    top:calc(50% - 20px);
}
  • 设置行高(line-align): 只适用于单行的行内元素,CSS范例:外层div0,内容redbox,让redbox水平垂直置中。
.div0{
    width:200px;
    height:150px;
    border:1px solid #000;
    line-height:150px;
    text-align:center;
}
.redbox{
    display:inline-block;
    width:30px;
    height:30px;
    background:#c00;
}
  • 添加伪元素(::before、::after):结合vertical-align:middle 垂直居中,

参考:https://segmentfault.com/a/1190000020089104

14.两栏布局的实现

  • flex弹性盒方案

    左边固定固定宽度,右边设置flex:1,flex-grow(放大比例)、flex-shrink(缩小比例)、flex-basis(分配剩余空间之前,占据的主轴方向)

    
    
  • float+magin-left方案

    父级元素设置overflow:hidden , 左边元素左浮动,右边设置margin-left:200px给左边留出空间

    
    
  • float + BFC方案

    左边元素左浮动,固定宽度;右边元素色值overflow:hidden; 此时会触发BFC,BC区域的内容不会与浮动元素发生重叠。

    
    
  • 双float方案

    左边左浮动,右边右浮动;一般不推荐

    
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/358942.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

node.js基础--01

Author nodes&#xff1a;&#xff08;题记&#xff09; node.js is an open-source&#xff0c;cross-platform JAVAScript runtime environment。 node.js是一个开源&#xff0c;跨平台的js运行环境 common commands&#xff08;常用指令&#xff09; 1、C: enter hard …

C# 一个快速读取写入操作execl的方法封装

这里封装了3个实用类ExcelDataReaderExtensions&#xff0c;ExcelDataSetConfiguration&#xff0c;ExcelDataTableConfiguration和一个实用代码参考&#xff1a; using ExcelDataReader; using System; using System.Collections.Generic; using System.Linq; using System.T…

解剖 Python 代码,深入学习 interpret 库的功能和应用!

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com Python是一门广泛应用的编程语言&#xff0c;拥有丰富的标准库和第三方库&#xff0c;可以用于各种应用场景。在Python中&#xff0c;有一个名为interpret的库&#xff0c;它提供了一种强大的方式来处理和执行Py…

一个通过下标查找数值的面试题解法

最近看到一道面试题&#xff0c;面试官说是算法题。我粗略看了下&#xff0c;努力在其中寻找数学公式&#xff0c;但是最后发现它算是一个数据结构相关的题目&#xff0c;没有算法层面的知识。 // There is an array generated by a rule. // The first item is 1. If k is in …

Codeforces Round 918 (Div. 4) 解题报告 | 珂学家 | 偏序 + 扩展Dijkstra

前言 整体评价 属于VP&#xff0c;感觉还是能AK的&#xff0c;E是偏序题&#xff0c;F是改版的迪杰特斯拉。 A. Odd One Out 题型: 签到 t int(input())for i in range(t):a, b, c list(map(int, input().split()))if a b:print (c)elif a c:print (b)else:print (a)B. …

基于Python的全国主要城市天气数据可视化大屏系统

1 绪论 1.1 研究的目的与意义 近年来&#xff0c;气候变化引发全球范围内的关注。天气数据的采集和分析对于气候预测、生态环境保护等方面都起着至关重要的作用。同时&#xff0c;随着科技的不断发展&#xff0c;数据可视化已经成为了许多领域中不可或缺的一部分。基于此&…

防御保护 笔记整理

一、ASPF--- 针对应用层的包过滤 ASPF --- 针对应用层的包过滤 --- 用来抓取多通道协议中协商端口的关键数据包&#xff0c;之后&#xff0c;将端 口算出&#xff0c;将结果记录在sever-map表中&#xff0c;相当于开辟了一条隐形的通道。 FTP --- 文件传输协议 FTP协议是一个典…

指针进阶1

一&#xff0c;字符指针 顾名思义&#xff1a;字符指针指的是一种指针类型为字符指针 char*&#xff1b; char*可以是一个字符也可以是一个字符串&#xff0c;前者很好理解&#xff0c;让我们看看后者&#xff1b; eg&#xff1a;char*p"abcdef";//实际上是将首元…

【开源精选导航】GitHub-Chinese-Top-Charts:一榜在手,优质中文项目轻松找寻

各位热爱开源技术的朋友们&#xff0c;你们是否有过这样的困扰&#xff1a;面对浩瀚的GitHub海洋&#xff0c;想找寻那些具有高质量中文文档的优秀开源项目却无从下手&#xff1f;今天&#xff0c;我们就为大家揭晓一个宝藏般的开源项目——GitHub 中文项目集合&#xff08;访问…

如何在win系统部署Apache服务并实现无公网ip远程访问

文章目录 前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpolar web ui管理界面3.2 创建公网地址 4. 固定公网地址 前言 Apache作为全球使用较高的Web服务器…

idea项目如何上传gitee

1.先创建仓库 2.从gitee上面clone下来 3.配置一下git 4.在idea里面安装Gitee插件&#xff08;安装完插件重启一下&#xff09; 5.将项目提交到远程仓库 git->add->✔ 完后点击↗ 在码云如何获取token&#xff1f; 注&#xff1a;没有解决&#xff0c;有时间在继续研究

linux kernel 内存踩踏之KASAN(一)

一、背景 linux 内核出现内存类问题时&#xff0c;我们常用的调试工具就是kasan&#xff0c;kasan有三种模式&#xff1a; 1. Generic KASAN &#xff08;这个就是我们最常用的&#xff0c;1 debug byte indicate 8 bytes use state, 对标用户层 asan&#xff09; 2. Softwa…

滴滴举行网约车合作伙伴大会,与174家合作伙伴共商发展

近日&#xff0c;滴滴在昆明举行主题为“凝心聚力&#xff0c;共享发展”的第四届网约车合作伙伴大会&#xff0c;汽车租赁公司、司机服务公司、主机厂、金融机构等174家上下游生态链合作伙伴齐聚一堂。滴滴已连续四年举办网约车合作伙伴大会&#xff0c;邀请合作伙伴广泛参与、…

机器学习 | 掌握 K-近邻算法 的理论实现和调优技巧

目录 初识K-近邻算法 距离度量 K值选择 kd树 数据集划分 特征预处理 莺尾花种类预测(实操) 交叉验证与网格搜索 初识K-近邻算法 K-近邻算法&#xff08;K-Nearest Neighbor&#xff0c;KNN&#xff09;是一种基本的分类和回归算法。它的基本思想是通过找出与新对象最近…

万户 ezOFFICE DocumentEdit_unite.jsp SQL注入漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

一文速学-selenium高阶操作连接已存在浏览器

前言 不得不说selenium不仅在自动化测试作为不可或缺的工具&#xff0c;在数据获取方面也是十分好用&#xff0c;能够十分快速的见到效果&#xff0c;这都取决于selenium框架的足够的灵活性&#xff0c;甚至在一些基于web端的自动化办公都十分有效。 通过selenium连接已经存在…

[NCTF2019]Fake XML cookbook(特详解)

先试了一下弱口令&#xff0c;哈哈习惯了 查看页面源码发现xml function doLogin(){var username $("#username").val();var password $("#password").val();if(username "" || password ""){alert("Please enter the usern…

【三】【C++】类与对象(二)

类的六个默认成员函数 在C中&#xff0c;有六个默认成员函数&#xff0c;它们是编译器在需要的情况下自动生成的成员函数&#xff0c;如果你不显式地定义它们&#xff0c;编译器会自动提供默认实现。这些默认成员函数包括&#xff1a; 默认构造函数 (Default Constructor)&…

设计模式之框架源码剖析(实战+图解)

Java设计模式 1&#xff0c;概述 随着软件开发人员人数的增多&#xff0c;一些公司急需一些高端人才。作为一个高端人才&#xff0c;设计面向对象软件是必不可少的能力&#xff0c;而软件设计是需要很深的功力&#xff0c;设计模式就要求你必须掌握。 2&#xff0c;本章特色…

中国地区cetos7.9 install kubeadmin

第 1 步&#xff1a;禁用 SELinux&#xff08;可选但推荐&#xff09; 如何在 CentOS 7 上查找 SELinux 状态 sestatus另一种选择是运行以下 cat 命令&#xff1a; vi /etc/selinux/config SELINUXdisabled rebootcentos7 linux 安装k8s前下面操作的作用是&#xff1f; cat…