【CSS】面试知识整理
手写clearfix
.clearfix:after {
content: '';
display: table;
clear: both;
} .clearfix {
*zoom:;
}
flex布局
.container {
display: flex;
} .item {
flex:;
}
flex-direction 主轴的方向
flex-direction: row // 主轴为水平方向,起点在左
flex-direction: row-reverse // 主轴为水平方向,起点在右
flex-direction: column // 主轴为垂直方向,起点在上
flex-direction: column-reverse // 主轴为垂直方向,起点在下
justify-content 主轴的对齐方式
justify-content: flex-start // 向起点对齐
justify-content: flex-end // 向终点对齐
justify-content: center // 居中对齐
justify-content: space-between // 两端对齐
justify-content: space-around // 平均分布
align-items 纵轴的对齐方式
align-items: flex-start; // 向起点对齐
align-items: flex-end; // 向终点对齐
align-items: center; // 居中对齐
align-items: stretch; // 拉伸
align-items: baseline; // 基线对齐
align-content 纵轴的对齐方式
纵轴上留有空间
align-content: flex-start; // 向起点对齐
align-content: flex-end; // 向终点对齐
align-content: center; // 居中对齐
align-content: stretch; // 拉伸
align-content: space-between; // 两端对齐
align-content: space-around; // 平均分布
水平居中
1.行内元素
text-align: center;
2.块级元素
width: 固定的宽度;
margin: auto;
3.绝对定位 + left + margin
position: absolute;
left: 50%;
width: 300px;
height: 100px;
margin: 负的宽度的一半;
垂直居中
1.行内元素
height: 50px;
line-height: 50px;
2.绝对定位 + left + margin
position: absolute;
top: 50%;
left: 50%;
width: 80px;
height: 40px;
margin-top: -20px;
margin-left: -40px;
3.绝对定位 + transform
position: absolute;
top: 50%;
left: 50%;
width: 80px;
height: 40px;
transform: translate(-50%, -50%);
4.绝对定位 + margin
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
widht: 100px;
height: 50px;
margin: auto;
三栏布局
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>三栏布局</title>
<style>
* {
margin:;
padding:;
}
html,body {
width: 100%;
height: 100%;
}
body {
display: flex;
}
.left,
.right {
width: 200px;
height: 100%;
background-color: yellow;
}
.main {
flex:;
}
</style>
</head>
<body>
<div class="left">left</div>
<div class="main">main</div>
<div class="right">right</div>
</body>
</html>
圣杯布局
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>圣杯布局</title>
<style>
* {
margin:;
padding:;
}
body {
min-width: 600px;
}
.container {
padding: 0 200px;
overflow: hidden;
}
.container div{
float: left;
}
.main {
width: 100%;
height: 200px;
background-color: yellow;
}
.left,
.right {
position: relative;
width: 200px;
height: 200px;
background-color: #ccc;
}
.left {
left: -200px;
margin-left: -100%;
}
.right {
left: 200px;
margin-left: -200px;
}
</style>
</head>
<body>
<!-- 两边两栏宽度固定,中间栏宽度自适应 -->
<!-- 在HTML结构上中间栏在最前面 -->
<!-- container设置padding属性 -->
<header>圣杯布局</header>
<div class="container">
<div class="main">main</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
<footer>footer</footer>
</body>
</html>
双飞翼布局
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>双飞翼布局</title>
<style>
* {
margin:;
padding:;
}
body {
min-width: 600px;
}
.container {
overflow: hidden;
}
.container div{
float: left;
}
.main {
width: 100%;
height: 200px;
background-color: yellow;
}
.main-content {
margin: 0 200px;
}
.left,
.right {
width: 200px;
height: 200px;
background-color: #ccc;
}
.left {
margin-left: -100%;
}
.right {
margin-left: -200px;
}
</style>
</head>
<body>
<!-- 两边两栏宽度固定,中间栏宽度自适应 -->
<!-- 在HTML结构上中间栏在最前面 -->
<!-- 增加main-content,设置margin -->
<header>双飞翼布局</header>
<div class="container">
<div class="main">
<div class="main-content">main</div>
</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
<footer>footer</footer>
</body>
</html>
CSS技巧
1.font快捷写法格式:
body {
font: font-style font-variant font-weight font-size line-height font-family;
}
2.link的四种状态,需要按照下面的前后顺序进行设置:
a:link
a:visited
a:hover
a:active
3.text-transform用于将所有字母变成小写字母、大写字母或首字母大写
4.font-variant用于将字体变成小型的大写字母
5.透明元素
.element {
filter:alpha(opacity=50); // 兼容IE
-webkit-opacity: 0.5;
-moz-opacity:0.5;
opacity: 0.5;
}
6.CSS三角形
.triangle {
width:;
height:;
border: 50px solid;
border-color: transparent transparent #000 transparent;
}
7.图片替换文字
h1 {
width:200px;
height:50px;
background:url("h1-image.jpg") no-repeat;
text-indent:-9999px;
}
8.表格单元格等宽
automatic 列宽度由单元格内容设定 此算法有时会较慢,这是由于它需要在确定最终的布局之前访问表格中所有的内容
fixed 列宽由表格宽度和列宽度设定 固定表格布局与自动表格布局相比,允许浏览器更快地对表格进行布局
.calendar {
table-layout: fixed;
}
9.使用属性选择器用于空链接
当a元素没有文本值,但 href 属性有链接的时候显示链接:
a[href^="http"]:empty::before {
content: attr(href);
}
10.禁用鼠标事件
CSS3 新增的 pointer-events 让你能够禁用元素的鼠标事件
.disabled {
pointer-events: none;
}
11.模糊文本
.blur {
color: transparent;
text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
12.禁止用户选中文本
div {
user-select: none;
}
13.清除手机tap事件后element 时候出现的一个高亮
* {
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
14.box-sizing
没有设置box-sizing,css里写的width指的是content
设置了box-sizing,css里写的width指的是content + padding + border
div {
box-sizing: border-box;
width: 100px;
height: 100px;
padding: 5px;
border: 5px solid #000;
background-color: yellow;
}
15.隐藏没有静音、自动播放的影片
video[autoplay]:not([muted]) {
display: none;
}
【CSS】面试知识整理的更多相关文章
- AOP面试知识整理,^_^-包括spring Aop
讲到java企业级开发框架,就不可避免的讲到 IOC,AOP,MCV 今天面试时被问到AOP,讲的很乱,这里整理笔记,包括AOP,spring-AOP的部分知识,错误的地方请小伙伴指出来. 谈谈你对A ...
- CSS面试细节整理(一)
最近面试时候发现自己最熟悉的css确实开发中好多细节没注意到,为了防止在栽跟头,打算从头到底捋一遍咯 语法部分: 1.css几种选择器的写法 (1)h1 em {color:red;} (后代选择器) ...
- CSS Font知识整理总结
1.什么是字体 字体是文字的外在形式,就是文字的风格,是文字的外衣.比如行书.楷书.草书,都是一种字体.同样一个字每个人写起来都会有差异,可以说每个人都有一套潜在的字体库.对于web页面来说,字体就是 ...
- CSS面试细节整理(二)
5.css盒模型: CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式
- JVM--Java核心面试知识整理(一)
JVM 基本概念 JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈. 一个垃圾回收,堆和 一个存储方法域.JVM 是运行在操作系统之上的,它与硬件没有直接的交互 ...
- 前端CSS部分知识整理
1.如何清除图片下方出现几像素的空白间隙? /*方法1:*/ img{display:block;} 方法2: /*img{vertical-align:top;}*/ 2.如何让文本垂直对齐文本输入 ...
- 面试知识整理-Java基础
三大特征:封装,继承,多态 多态:简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情. 抽象:抽象是将一类对象的共同特征总结出来构造类的过程 包装,可以讲基本类型当做对象来使用,抽象只关心对 ...
- Java集合--Java核心面试知识整理(二)
目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages 目录 JAVA集合 2.1 接口继承关系和实现 2.2 List 2.2.1 ArrayList(数组) 2.2.2 ...
- 总结CSS面试题目的考察点及常见布局问题整理
整理网上流传的若干份面试题目,突发奇想,总结关于CSS面试题目的考察点,发现问题大多围绕几个属性和几种题目,水平有限,仅供参考. 写这个博文内心有种莫名奇妙的自我谴责感,实在不应该把面试层叠样式“应试 ...
随机推荐
- winform datagridview 导出excel
using System;using System.Collections.Generic;using System.Text;using System.IO;using Microsoft.Offi ...
- 对Unity一个Shader编译Bug的分析(Unrecognized sampler 'samplerunity_lightmap)
写在前面 Unity的用户量越来越大,越来越有钱,这几年摊子也铺的越来越大,所以各个版本总是有很多Bug.对于一些Bug官方在ReleaseNote里的说明是很不详细的,而对于一些渲染相关的Bug,有 ...
- Shiro简介——《跟我学Shiro》
地址: http://jinnianshilongnian.iteye.com/blog/2018936
- JS面试Q&A(续2): Rest parameter,Arrow function 等
rest parameter 和 Destructuring assignment. function fun1(...theArgs) { console.log(theArgs.length);} ...
- C语言解决约瑟夫问题详解的代码
将开发过程中比较重要的一些内容做个收藏,下面的内容是关于C语言解决约瑟夫问题详解的内容,希望能对码农有帮助. #pragma once #include<vector> class PRO ...
- js通过formData上传文件,Spring后台处理
1.前端 var formData = new FormData(); formData.append('file', $("#file").val()); $.ajax({ ur ...
- Java ---- 遍历链表(递归与非递归实现)
package test; //前序遍历的递归实现与非递归实现 import java.util.Stack; public class Test { public static void main( ...
- Android 开发 将window变暗
前言 在创建弹窗功能时,一般有需求将背景的window界面变暗.下面两组代码就实现了变暗与恢复的功能. 变暗 public void startDark(){ WindowManager.Layout ...
- 使用css让动态容器按固定宽高比显示
需求:页面上有一个div的宽度是随着屏幕宽度的改变而改变的,但其宽高比始终是2:1,也就是当宽度是1000px时,高度为500px 分析:无论浏览器窗口如何改变,始终要让目标元素的宽高比保持2:1,我 ...
- Anatomy of a Database System学习笔记 - 查询
查询解析 解析会生成一个查询的内部展示.格式检查包含在解析过程中. 每次解析一个SELECT,步骤如下:1. 从FROM里找到表名,转换成schema.tablename.这一步需要调用目录管理器ca ...