CSS知识点及面试题

1、一般与文本相关的属性都可以继承
text-/font-/line-

2、background属性
1)background-repeat:repeat/repeat-x/repeat-y/no-repeat
2)background-position:默认0 0 只指定一个值,其他为center
3)background-image:url() 图片地址
4)background-attachment
scroll:默认值,背景图相对于元素固定,背景随页面滚动而移动,即背景和内容绑定。
fixed:背景图相对于视口固定,所以随页面滚动背景不动,相当于背景被设置在了body上。
local:背景图相对于元素内容固定,
对于可以滚动的元素(设置为overflow:scroll的元素)。当background-attachment设置为scroll时,背景图不会随元素内容的滚动而滚动

3、盒模型
1)盒子的大小由padding、content、border组成
区分ie盒模型和W3C标准盒模型
W3C标准盒模型的width仅指内容部分的宽度,而ie盒模型的width包括了content、border、margin
2)padding会撑大盒子,记得修改content大小
3)块级元素水平居中:margin:0 auto
仅在设置了元素宽度,且必须是块级元素才生效
文字水平居中:text-align:center
盒子水平居中:margin:0 auto
加了定位的盒子margin:0 auto 将失效
改用以下方式:
position:absolute;
left:50%;
margin-left:-(盒子宽度的一半)px;‘

position:absolute;
top:50%;
margin-top:-(盒子高度的一半)px;

水平垂直居中
.out{
display:table-cell;
vertical-align:middle;
text-align:center;
}
.in{
display:inline-block;
}

4)未设置宽高时,如何水平垂直居中?
为父元素设置:display: flex; justify-content: center;align-items: center;
5)

4、外边距合并
1)相邻元素:
存在margin-top和另一个存在margin-bottom的元素的相接部分按较大者合并,而不直接展示和
2)父子元素
父元素没有内边距及边框,合并后的边距同样是较大的那一个
可以为父元素设置overflow:hidden 或给父元素加一个边框 来避免
3)不设置盒子宽度(比如说子盒子),对其设置padding将不会撑开盒子。子盒子块不设置宽,将默认与父盒子块同宽

5、box-shadow(css3)
见手册

6、浮动left/right/none
1)默认隐式转换为行内块,为了能让元素在一排上显示
2)脱标,找最近的父元素对齐,不会超出padding的范围
3)一个父盒子内若要所有子盒子都一行对齐显示,必须都设置float属性
4)清除浮动
为父元素设置:
.clearfix {
overflow: auto;
zoom: 1; //zoom: 1; 处理兼容性问题
}

或添加一个冗余元素
.clear{clear:both; height: 0; line-height: 0; font-size: 0}
</style>
<div class="outer">
<div class="div1">1</div>
<div class="div2">2</div>
<div class="div3">3</div>
<div class="clear"></div>
</div>

或使用伪元素:.clearfix:after{
content:"";
display:block;
height:0;
clear:both;
visibility:hidden;
}
不用添加冗余元素

常见伪类——:hover,:link,:active,:visted,:not(),:focus。
常见伪元素——::first-letter,::first-line,::before,::after,::selection。

附:隐藏元素的区别:
我们知道display:none/opacity:0/visbility:hidden 都能使元素隐藏,它们的区别是
1)display:none 会从文档标准流中移除该元素,而后两者不会
2)visibility:hidden 不会影响子元素,子元素若显式设置visiable可以正常显示
3)visibility 和 display 属性是不会影响其他元素触发事件的,而 opacity 属性
如果遮挡住其他元素,其他的元素就不会触发事件了

7、定位
1)top/bottom/left/right都是相对于父元素来说的
2)position:static/relative/absolute/fixed
依次:static 自动定位
relative 根据原来元素在标准流中应该在的位置定位,以左上角为坐标远点,仍然在原位置保留文档流,行内块元素
absolute 相对于是一个已经定位的最近的父或祖先元素定位,脱离文档流,若父元素都没有定位,则按照当前document进行定位,行内块元素
fixed 相对于浏览器窗口固定定位,完全脱标,不随滚动条滚动
多个元素设置定位时,页面可能会发生重叠,此时要设置z-index

8、隐藏
1)display:none 不再保留原有位置
2)visibility:hidden 仍保留原有位置

9、overflow
1)hidden:超出盒模型之外的内容均被隐藏
2)scroll:超出盒模型时出现滚动条
3)auto:清除浮动

10、vertical-align
不影响块级元素的对齐,只针对行内元素或行内块元素。通常用来控制图片/表单与文字对齐

11、white-space
noraml:默认处理方式
nowrap:强制全部一行显示

12、text-overflow
clip/elipsis
默认/显示省略号
必须结合以下内容使用:
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;

css冲刺的更多相关文章

  1. Matplotlib数据可视化(3):文本与轴

      在一幅图表中,文本.坐标轴和图像的是信息传递的核心,对着三者的设置是作图这最为关心的内容,在上一篇博客中虽然列举了一些设置方法,但没有进行深入介绍,本文以围绕如何对文本和坐标轴进行设置展开(对图像 ...

  2. 【Alpha版本】冲刺阶段——Day 1

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  3. 【Alpha版本】冲刺阶段——Day 2

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  4. 【Alpha版本】冲刺阶段——Day 3

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  5. 【Alpha版本】冲刺阶段——Day 4

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  6. 【Alpha版本】冲刺阶段——Day 5

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  7. 【Alpha版本】冲刺阶段——Day 6

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  8. 【Alpha版本】冲刺阶段——Day 8

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  9. Beta版本——第二次冲刺博客

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

随机推荐

  1. IDEA 创建Spring MVC项目搭建

    概述 IntelliJ IDEA是一款更加集成智能的开发工具,相对Myeclipse开发而言,使用起来相对更加的方便:初步手动使用IDEA搭建Spring MVC项目,现将操作流程整理记录如下. 环境 ...

  2. 【BZOJ2560】串珠子

    题解: 跟n个点有标号的无向连通图个数几乎一模一样 直接上代码了 代码: #include <bits/stdc++.h> using namespace std; #define ll ...

  3. 【转】如何向Android模拟器打电话发短信

    转载地址:http://hi.baidu.com/jeremylai/item/420f9c9fe4881fccb62531f7 1. 启动Android Emulator, 查看标题栏找出端口.一般 ...

  4. Python_时间复杂度概念

    时间频度:一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)(T代表次数,n代表问题规模) 时间复杂度:呈现时间频度的变化规律,记为T(n)=O(f(n)) 指数时间:一个问题求解所需的执行 ...

  5. lvs - mask标记

    将两个服务绑定在一个集群服务中 如何将两种请求绑定在一个集群中通过一个director来调度, 这里需要iptable工具配合实现.首先在prerouting链上做一个标记,通过标记来调度 起两个服务 ...

  6. 51Nod1626 B君的梦境 状压dp 矩阵

    原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1626.html 题目传送门 - 51Nod1626 题意 题解 首先考虑形象的想象本题中的思维空间. ...

  7. Kafka Manager

    1.kafka Manager 1.上传压缩包kafka-manager-1.3.3.15.zip到集群 2.解压到/opt/module 3.修改配置文件conf/application.conf ...

  8. busybox linux-2.6.2 编译安装中碰到的若干问题

    Q1   /busybox-1.18.4/scripts/gcc-version.sh: line 11: arm-linux-gcc: command not found 1.问题:/home/ub ...

  9. maven聚合工程无法install

    对于maven聚合工程,有时候执行maven命令进行mvn clean install时会出一些莫名奇妙的错误: 一直报告找不到符号,仔细看了项目源代码也不知道是什么原因.首先确保项目所在路径为英文路 ...

  10. Codeforces 919D Substring 【拓扑排序】+【DP】

    <题目链接> 题目大意:有一个具有n个节点,m条边的有向图,每个点对应一个小写字母,现在给出每个顶点对应的字母以及有向边的连接情况,求经过的某一条路上相同字母出现的最多次数.如果次数无限大 ...