都是解决网站对于老旧版本浏览器的兼容问题。
优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效。
渐进增强:从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器的额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥作用。
html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;
即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的;
搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO;
使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
Static(默认), 静态定位,流式布局 四忒特克
Relative,相对定位,参与流式布局,可以使用left等在原有位置上进行位置调整。 瑞雷特务
Absolute,绝对定位,脱离文档流,相对于另一个元素进行定位。
Fixed,固定定位,脱离文档流,相对于浏览器窗口定位,不随页面滚动而改变位置。菲克斯特
Sticky,粘性定位,可实现动态fixed。 四忒k
相对于离自己最近的、position为非static的祖先元素进行定位。
Transition:简单的动画,只需要在两个状态之间变化的动画。太四谁醒
keyframeAnimation:适合需要在多个状态连续进行的动画。K付亚木 阿尼没醒
js动画:功能最强的动画,但是效率最低。
Display:none; 隐藏且不占用位置。
Visibility:hidden; 隐藏但保留位置。维斯贝类忒
Opacity:0; 隐藏但保留位置。 欧 怕四忒
行元素:会在水平方向排列,设置宽高无效,上下边距无效
块元素:各占据一行,垂直方向排列。可设置宽高,内外边距
行内块元素: 会在水平方向排列,可设置宽高,内外边距
同时,可通过display属性修改标签元素类型
给父元素设置font-size:0
使用弹性布局或浮动布局
使用固定定位或者绝对定位
在标准模式下,块的总宽度= width + margin(左右) + padding(左右) + border(左右)
怪异模式下,块的总宽度= width + margin(左右)(即width已经包含了padding和border值)
transition只有开始和结束两个状态,并且需要通过事件触发
text-overflow: ellipsis; 诶类剖谁死
overflow: hidden;
white-space: nowrap; 脑挖
威特 斯贝斯
px 以物理像素为基准
em以当前元素font-size为基准
能够根据不同的浏览器尺寸,显示不同的布局方式。依赖媒体查询实现
方法一: 使用canvas绘图画出来 (比较麻烦)
方法二: 使用div边框线 + 视图转换(旋转/倾斜)或边框圆角实现(简单方便)
方法三: 使用背景的线性渐变或经向渐变实现(较耗性能)
使用 position:fixed 固定定位实现, 头部设置top属性, 左侧的设置left属性
并使用z-index属性设置显示层级, 值越大越不容易被覆盖
(1,实现元素本身内容居中:text-align:center+行高。
(2,实现子元素在父元素中居中:绝对定位+上下左右设置0+margin:auto。
(3, 使用flex弹性布局
(4, 绝对定位+left,top:50%+transform:translate:-50%。
git init 初始化一个Git代码库
git clone [url] 从线上下载一个项目到本地
get config --list 显示当前的Git配置
git add [file1]/[dir]/. 添加指定文件/目录/所有到暂存区
git rm [file1] [file2] 删除工作区文件,并且将这次删除放入暂存区
git mv [file-original] [file-renamed] 改名文件,并将这个改名放入暂存区
git commit -m [message] 提交暂存区到仓库区
git branch / git branch -r 列出所有本地/远程分支
git checkout -b [branch] 新建一个分支,并切换到该分支
git checkout [branch-name] 切换到指定分支,并更新工作区
git merge [branch] 合并指定分支到当前分支