前端基础 | 青训营笔记

68 阅读3分钟

image.png

这是我参与「第五届青训营 」笔记创作活动的第1天。

前端入门

1.前端与HTML

前端应该关注的点,美观,安全,兼容,功能,体验,性能,无障碍...... 前端可以用nodejs开发服务器端的应用,功能,electron和react native开发客户端 webRTC多人会议,webGL游戏,可以用其他语言的代码编码在web端展示, image.png

语法

推荐小写,空标签可以不闭合,属性值推荐用双引号,属性值也可以省略, 标题,h1-h6 列表,有序,无序,键值对列表(dl-dt-dd), 链接,多媒体,输入, 文本类标签,blockquote长短句,cite属性表明文字来源,cite短标签,一般是文章标题,q应用之前的内容,code代码,pre放在code前表示多行代码,strong(紧急),em(语气)强调标签, 语义化标签,header,nav,main... 谁在使用我们的HTML,开发者要维护,修改,浏览器展示,搜索引擎,提取关键词,屏幕阅读器,盲人使用,可读性,可维护,搜索优化,提高无障碍性。 如何做到,w3c阅读,了解标签属性含义,根据内容思考使用何种标签,不要生成代码

CSS

选择器,通过标签,id,类名选择,属性选择,DOM树的位置选择

CSS使用,外链,嵌入,内联 image.png

伪类,状态性的伪类,特定状态下的类,结构伪类,根据在DOM树的位置选择的类 组合

image.png 颜色

image.png 透明度,字体,行高,间隔 选择器优先级

image.png 使用场景,基础样式被高优先级的样式覆盖, 继承,某些属性会继承父元素的计算值,一般是文字相关的属性,强制继承,给属性值设置inherit, 初始值,CSS求值过程 image.png 根据优先级,属性继承等规则来计算判断,

布局

确定内容大小,和位置的算法,根据元素,容器,兄弟节点和内容的信息进行计算 相关技术,常规(行,块,表格,flexbox,grid),浮动,绝对定位, 常规,盒子的margin,border,padding,width,height,content,宽高取值,其中百分数根据相对于容器的contentbox高度来计算的,auto取值是由内容计算得来的,容器有指定高度百分数才会生效, 常用技巧,水平居中,margin:auto 对于溢出,overflow三个属性,visible,hidden,scroll,

块级和行级

块级,不和其他盒子并列,使用所有盒子属性, 行级,和其他行级共享一行,不适用于盒子模型的width,height

BFC排版规则

盒子从上到下,垂直margin合并,BFC盒子的margin不会和外面合并,BFC不会和浮动元素重叠。

flexbox

控制子元素摆放流向,顺序,水平垂直方向对齐,是否允许折行,盒子的宽高,

grid

二维布局格式,需要划分格子,设置行高宽高实现调节布局,

定位

static默认定位

relative:常规布局定位,相对于自己本该在的位置进行偏移,使用top,eft,bottom,right设置偏移距离,流内其他元素当它没有偏移一样布局,

absolute:脱离常规流,相对于最近的非static祖先定位,不会对流内元素布局造成影响,

最后课程建议,充分利用MDN和W3C css规范,保持好奇心,持续学习。