前端知识点回顾——HTML,CSS篇
前端知识点回顾篇——是我当初刚转行为了面试而将自己学过的前端知识整理成的一份笔记,个人目的性很强,仅供参考。
doctype 有什么用
doctype是一种标准通用标记语言的文档类型声明,目的是告诉标准通用标记语言解析器要使用什么样的文档类型定义(DTD)来解析文档。
浏览器本身分为两种模式,一种是标准模式,一种是怪异模式(混杂模式),浏览器通过doctype来区分这两种模式,doctype在html中的作用就是触发浏览器的标准模式,如果html中省略了doctype,浏览器就会进入到Quirks模式的怪异状态,在这种模式下,有些样式会和标准模式存在差异(页面会以一种比较宽松的向后兼容的方式显示),而html标准和dom标准值规定了标准模式下的行为,没有对怪异模式做出规定,因此不同浏览器在怪异模式下的处理也是不同的,所以一定要在html开头使用doctype。
容器级标签?文本级标签?块级元素?行内元素?
CSS的三种引用方式?
内联样式(行间样式):直接在标签内部通过使用style属性添加CSS样式
<p style="color:red;font-size:12px;">这是一个段落</p>
内部样式:在标签里面通过使用<style>标签来引进CSS样式
外部样式:先在外部新建一个外部样式表,然后在标签里面通过标签进行关联
优先级:内联样式>内部样式>外部样式
CSS命名规范
以字母开头
- 必须以字母开头命名选择器,这样可保证在所有浏览器下都能兼容;
- 不允许单个字母的类选择器出现;
- 允许命名带有广告等英文的单词,例如ad,adv,adver,advertising,已防止该模块被浏览器当成垃圾广告过滤掉.
全小写,并使用 - 连字符
- 下划线
_
禁止出现在class命名中,统一使用-
连字符 - 禁止驼峰式命名
- 不要出现
-
数字连接
- 下划线
标准文档流的微观现象
- 空白折叠。比如,如果我们想让img标签之间没有空隙需要紧密连接。
<img src="img/00.jpg"/><img src="img/02.jpg"/>
- 高矮不齐,底边对齐。
如果又有图片且图片参差不齐的,又有文字。则会出现高矮不齐,底边对齐的情况。
- 自动换行。
浮动的性质
与标准文档流的渲染定位(脱标),能互相贴靠且设置宽高(贴边),字围效果(字围),默认宽为文本宽度(收缩)。
IE6的伴生属性
css属性前加下划线是IE6认识的专有属性,称伴生属性 hack
IE6浏览器兼容问题
IE6不支持小于12px的盒子,看起来都大
将盒子的字号设置小(小于盒子的高) _font-size : 0px;
IE6不支持用overflow:hidden;来清除浮动
追加一条 _zoom:1; (原义是放大倍数,追加是为了触发浏览器的hasLayout机制)
IE6双倍margin bug:当出现连续浮动的元素,携带和浮动方向相同的margin时,队首的元素,会双倍marign。
使浮动的方向和margin的方向相反;
单独给队首的元素,写一个一半的margin:ul li.no1{_margin-left:20px;}
3px bug:儿子右浮动用margin-right踹了父亲,结果IE6中多踹出3px。
不用管,因为根本不允许用儿子踹父亲,出现了这个bug说明你的代码不标准。
层叠顺序
结构性伪类选择器
- li: first-of-type
- li: last-of-type
- li: only-of-type
- li: nth-of-type(n)
- li: nth-last-of-type(n)
- li: first-child
- li: last-child
- li: only-child
- li: nth-child(n)
- li: nth-last-child(n)
- p:not(.box)
- E:: selection
表单伪类
:focus+获得焦点时/ :disabled+选取不能操控的/ :enabled+选取可以操控的/ :checked+选取被选择的
opacity和rgba的区别?
rgba是透明颜色,顶多控制一个元素的背景颜色,父透子不透。 opacity是控制整个元素的透明程度,父透子也透。IE8以下:
filter: alpha(opacity=0~100);
iframe?
<!-- iframe通过name属性与a标签的target联系,使得点击a标签可以让iframe跳转到指定的地址 -->
<iframe src="http://www.tmall.com" frameborder="0" scrolling='auto' name="iframe"></iframe>
<a href="http://www.baidu.com" target='iframe'>baidu</a>
动画animation
div{
/*动画名称 持续时间 延迟时间 */
animation: move 2s;
}
/*自定义动画*/
@keyframes move{
from{width: 100px;background: red;}
to{width: 500px;background: blue;}
/*0%{} 100%{}*/
}
css变换
- transform: rotate() 变换焦点:transform-origin: x y; (默认居中)
- transform: scale() 放大倍数>0
- transform: translate(x, y)
- transform: skew()
CSS的background属性
语法:background : bg-color bg-image position/bg-size bg-repeat bg-origin bg-clip bg-attachment initial|inherit;
position:left center right & top center bottom(只给一个值另外一个设置为center) / x% y%(以父元素的宽高作为参考,左上角为0%0%,右下角为100%100%) / xpos ypos 可理解为定位的left和top值
size:xlen ylen(只给一个值另外一个设置为auto) / x% y%(相对于父元素的百分比) / cover(保持宽高比完全覆盖定位区域) / contain(保持宽高比以适应定位区域)
origin:padding-box 默认 / content-box / border-box 指定position属性的相对定位位置
clip:border-box 默认 / padding-box / content-box 背景从哪里的外面减掉
attachment: scroll 默认 / fixed 固定
弹性布局与em
来源:https://www.w3cplus.com/css/px-to-em
Web页面中“body”的文字大小在用户浏览器下默认渲染是“16px”,弹性设计有一个关键地方Web页面中所有元素都使用“em”单位值。
em是一个相对于父元素font-size的一个垂直测量长度单位,1em等于一个任何字体中的字母所需要的垂直空间,可指定到小数点后三位。
- 设置body的font-size
在中设置一个正文文本所需的字体大小,或者设置为“10px”,相当于(“0.625em或62.5%”),这样为了方便其子元素计算
CSS设置: body{font-size: 0.625em;} 如果是IE浏览器要加上html{font-size: 62.5%;}
- 如何使用em作为单位
一个元素如果没有设置font-size,则它的em都是指父元素的字体的大小
如果它设置了font-size,则font-size中em是指父元素的字体的大小,其他属性的em是它自己字体的大小
响应式布局
媒体类型
all 所有媒体/screen 彩屏设备/print打印机
关键词
and 并且/not 排除某种指定媒体/only 仅限某种媒体
媒体特性
(width:600px) 宽/(max-width:600px) <=600px/(min-width:480px) >=480px/(orientation:portrait) 竖屏/(orientation:landscape) 横屏
媒体查询
- 方法1: @media [not|only] mediatype/all [and] (media feature-1) [and] (media feature-2…){CSS-Code;} 内嵌式(写在style里面)
@media screen and (min-width:400px) and (max-width:500px) {.box {margin: 0 auto;}} - 方法2:@import url('index.css') [not|only] mediatype [and] (media feature) [and] (media feature); 内嵌引用外部(写在style里面)
@import url("css/reset.css") screen; - 方法3: 外部式引用
视口 viewport
在移动浏览器中,当页面宽度超出设备,浏览器内部虚拟的一个页面容器,将页面容器缩放到设备这么大,然后展示
<meta name='viewport' content='width=device-width initial-scale=1 minimum-scale=1 maximum-scale=1 user-scalable=no'/> <--!将视口的宽度设置为移动端屏幕的宽度-->
width/height/initial-scale 初始比例/minimum-scale 允许缩放最小比例/maximum-scale 允许缩放最大比例/user-scalable 是否允许缩放(yes|no 或1|0)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <--!视口兼容-->
视口改变后如何改变rem的大小:
(function(win,doc){
var docEl = doc.documentElement || document.body;//获取HTML标签
//判断是移动端设备还是PC,移动 就采用'orientationchange',横竖屏事件,PC端就采用onresize,窗口改变时间
var resize = 'orientationchange' in win ? 'orientationcha nge':'resize'; function rem(){
var w = docEl.clientWidth/720>1?720:docEl.clientWidth;
docEl.style.fontSize= 100*(w/720)+'px';
}
doc.addEventListener('DOMContentLoaded',rem,false); //监听'DOMContent事件:DOM加载完成执行,如果DOMContent事件,那么 执行rem函数
win.addEventListener(resize,rem,false); //win下监听resize事件,如果resize事件,那么执行rem函数
})(window,document)
em和rem的区别
链接:http://caibaojian.com/rem-vs-em.html
- rem 单位翻译为像素值是由 html 元素的字体大小决定的。 此字体大小会被浏览器中字体大小的设置影响,除非显式重写一个具体单位。
- em 单位转为像素值,取决于他们使用的字体大小。 此字体大小受从父元素继承过来的字体大小,除非显式重写与一个具体单位。
前端知识点回顾——HTML,CSS篇的更多相关文章
- 前端知识点回顾之重点篇——CSS中flex布局
flex布局 来源: http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool 采用 Flex 布局的元素 ...
- 前端知识点回顾之重点篇——CSS中的BFC
BFC布局(Block Formatting Contexts) 来源:https://www.cnblogs.com/lzbk/p/6057097.html 块级格式化上下文是页面中的一块渲染区域, ...
- 前端知识点回顾之重点篇——CSS中vertical align属性
来源:https://www.cnblogs.com/shuiyi/p/5597187.html 行框的概念 红色(line-height)为行框的顶部和底部,绿色(font-size)为字体的高度, ...
- 前端知识点回顾之重点篇——ES6的Promise对象
Promise Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大. 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异 ...
- 前端知识点回顾之重点篇——jQuery实现的原理
jQuery jQuery的实现原理 参考:https://blog.csdn.net/zhouziyu2011/article/details/70256659 外层沙箱和命名空间$ 为了避免声明了 ...
- 前端知识点回顾之重点篇——CORS
CORS(cross origin resource sharing)跨域资源共享 来源:http://www.ruanyifeng.com/blog/2016/04/cors.html 它允许浏览器 ...
- 前端知识点回顾之重点篇——AJAX
Ajax(Asynchronous JavaScript and XML) 这种技术就是无须刷新页面即可从服务器中取得数据,但不一定是XML数据.在原生方法上,Ajax技术的核心是XMLHttpReq ...
- 前端知识点回顾之重点篇——ES6的async函数和module
async函数 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是 Generator 函数的语法糖 什么是语法糖? 意指那些没有给计算机语言添加新功能,而只是 ...
- 前端知识点回顾之重点篇——ES6的Iterator和Generator
Iterator 迭代器是一种接口.是一种机制. 为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员). Iter ...
- 前端知识点回顾之重点篇——JavaScript异步机制
JavaScript异步机制 来源:https://www.cnblogs.com/zhaodongyu/p/3922961.html JavaScript是单线程异步执行的,单线程意味着代码在任务队 ...
随机推荐
- LEANGOO用户设置
转自:https://www.leangoo.com/leangoo_guide/leangoo_guide_kanban_user.html#toggle-id-7 1. 点击屏幕右上角头像或用户名 ...
- vue+element-ui 项目中实现复制文字链接功能
需求: 点击复制按钮,复制一个链接 在GitHub上找到一个clipboard组件,功能比较齐全 使用方法: 安装 npm i clipboard --save HTML <template ...
- c# MVC方式文件上传
MVC控制器中代码 index.cshtml <form action="/Home/Upload" method="post" enctype=&quo ...
- (十三)r18 cpu id
1.cpuid内核接口 lichee/linux-4.4/drivers/soc/sunxi/sunxi-sid.c int sunxi_get_soc_chipid(u8 *chipid) int ...
- Sublime text3安装
一.Sublime text3下载 [20190506]下载 官网下载:https://www.sublimetext.com/ https://download.sublimetext.com/Su ...
- java线程基础巩固---如何给你的应用程序注入钩子程序
这次做一个比较有意思的实验,我们知道当一个程序如果抛异常了其程序肯定会挂掉,那有木有可能在程序异常退出时能执行一段咱们自己的代码,比如说服务器在异常退出时需要做一些额外的资源清理,像这种场景就正好是这 ...
- golang 中Pointers Vs References
原文: https://spf13.com/post/go-pointers-vs-references/ Pointers Vs References Some languages includin ...
- Android Vitals各性能指标介绍
Android vitals 简介 谷歌推荐使用Android vitals来帮助开发者提高App的稳定性和性能表现. 作为这个方案的一部分, Play Console提供了Android Vital ...
- 【UVALive-7040F】Color
题目大意:给定一个长度为 N 的序列,现有 M 种颜色,选出一些颜色对这个序列进行染色,要求相邻元素颜色不相同.求最终序列恰好有 K 种不同颜色的染色方案数,结果对1e9+7取模. 题解:二项式反演 ...
- EXE中释放DLL中分配的内存
在DLL中分配的内存,如果到其调用者中释放,可能会出现CRASH的情况,其原因在于: 在DLL中的Code Generation如果是采用了MT(静态加载LIBCRTD.LIB)在该库中维护了一个al ...