本文是我整理的关于CSS的部分基础知识点,适合正在准备前端工作面试的人做简单回顾。
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。
利用CSS我们可以摆脱HTML标签归类的限制,自由地在不同标签/元素上应用我们需要的属性。
主要用的CSS样式有以下三个:
position 属性的五个值:
overflow 属性的五个值:
Float 会使元素向左或向右移动,其周围的元素也会重新排列。Float 往往是用于图像,但它在布局时一样非常有用。
一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
浮动元素之后的元素将围绕它。
浮动元素之前的元素将不会受到影响。
如果你把几个浮动的元素放到一起,如果有空间的话,它们将彼此相邻。
元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。clear 属性指定元素两侧不能出现浮动元素。[1]
例如:
.thumbnail { float:left; width:110px; height:90px; margin:5px; background: silver; } .text_line { clear:both; margin-bottom:2px; }
<div class="thumbnail"></div> <div class="thumbnail"></div> <div class="thumbnail"></div> <div class="thumbnail"></div> <h3 class="text_line">-----这里清除浮动-----</h3> <div class="thumbnail"></div> <div class="thumbnail"></div> <div class="thumbnail"></div> <div class="thumbnail"></div>
-----这里清除浮动-----
设置到元素的宽度将防止它溢出到容器的边缘。元素通过指定宽度,并将两边的空外边距平均分配。如果没有设置 width 属性(或者设置 100%),居中对齐将不起作用。
要让图片居中对齐, 可以使用 margin: auto; 并将它放到块元素中:
如果仅仅是为了文本在元素内居中对齐,可以使用 text-align: center; [1]
比如,如果想要一段文字在一个div中垂直居中,可以设置这个模块上下padding相同。
可以设置 line-height 属性值和 height 属性值相等来使 div 元素垂直居中。[1]
关键代码:
.center { line-height: 200px; height: 200px; } /* 如果文本有多行,添加以下代码: */ .center p { line-height: 1.5; display: inline-block; vertical-align: middle; }
关键代码:
.center { height: 200px; position: relative; border: 3px solid green; } .center p { margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。a:active 必须被置于 a:hover 之后,才是有效的。[1]
选择器 | 示例 | 示例说明 |
---|---|---|
:link | a:link | 选择所有未访问链接 |
:visited | a:visited | 选择所有访问过的链接 |
:active | a:active | 选择正在活动链接 |
:hover | a:hover | 把鼠标放在链接上的状态 |
:focus | input:focus | 选择元素输入后具有焦点 |
:first-letter | p:first-letter | 选择每个<p> 元素的第一个字母 |
:first-line | p:first-line | 选择每个<p> 元素的第一行 |
:first-child | p:first-child | 选择器匹配属于任意元素的第一个子元素的 <]p> 元素 |
:before | p:before | 在每个<p>元素之前插入内容 |
:after | p:after | 在每个<p>元素之后插入内容 |
:lang(language) | p:lang(it) | 为<p>元素的lang属性选择一个开始值 |
原文:https://www.cnblogs.com/zhenqichai/p/frontend-css-key-points.html