发表于: 2019-03-07 20:59:30
1 734
编辑日报内容...今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
1.BFC是什么
定义:一个块级格式化上下文[BFC]是可视化CSS渲染网页的一部分,它是一个区域,块级布局,相互浮动在这个区域发生。它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。
2.怎样才能形成BFC
float的值不为none。
overflow的值不为visible
display的值为table-cell, table-caption, inline-block中的任何一个
position的值不为relative和static
css3中flex boxes
fieldset元素
3.BFC的作用
包含浮动元素(清除浮动)BFC会根据子元素的情况自适高度,这个特性是对父元素使用overflow:hidden/auto/scroll、 float:left/right 样式可以闭合浮动的
不被浮动元素覆盖 浮动元素会无视兄弟元素的存在, 覆盖在兄弟元素的上面, 为该兄弟元素创建BFC 后可以阻止这种情况的出现
4.BFC规则
内部的Box会在垂直方向,从顶部开始一个接一个地放置
Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生叠加
每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此
BFC的区域不会与float box叠加
content属性
1.content属性与:before及:after伪元素配合使用生成文本内容
2.嵌入文字符号
3.插入图片
4.插入元素的属性值
5.插入项目编号
6.项目编号修饰
7.指定编号种类
明天计划的事情:(一定要写非常细致的内容)
继续完成任务
遇到的问题:(遇到什么困难,怎么解决的)
暂无
收获:(通过今天的学习,学到了什么知识)
渐进增强和优雅降级概念出现的原因:
如果我们翻看进度条,会发现渐进增强和优雅降级这两个概念是在 CSS3 出现之后火起来的。
由于低级浏览器不支持 CSS3,但是 CSS3 特效太优秀不忍放弃。
所以产生了的一种解决方式在高级浏览器中使用CSS3,而在低级浏览器只保证最基本的功能。这就是我们今天所要说的主题。
何谓渐进增强:
渐进增强(Progressive Enhancement):一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验。
何谓优雅降级:
优雅降级(Graceful Degradation):一开始就构建站点的完整功能,然后针对浏览器测试和修复。比如一开始使用 CSS3 的特性构建了一个应用,然后逐步针对各大浏览器进行 hack 使其可以在低版本浏览器上正常浏览。
支持渐进增强和优雅降级背后的思维是什么:
两者之间的微妙差别:
在本质上:“它们是看待同种事物的两种观点”,“优雅降级”和“渐进增强”的目的都是关注不同浏览器下的不同体验,但是它们侧重点不同,所以导致了工作流程上的不同
渐进增强观点:
关注于内容本身。请注意其中的差别:我甚至连“浏览器”三个字都没提。内容是我们建立网站的诱因。有的网站展示它,有的则收集它,有的寻求,有的操作,还有的网站甚至会包含以上的种种,但相同点是它们全都涉及到内容。这使得渐进增强成为一种更为合理的设计范例。这也是它立即被 Yahoo! 所采纳并用以构建其“分级式浏览器支持 (Graded Browser Support)”策略的原因所在。
优雅降级观点:
认为应该针对那些认为应该针对那些最高级、最完善的浏览器来设计网站。而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段,并把测试对象限定为主流浏览器(如 IE、Mozilla 等)的前一个版本。在这种设计范例下,旧版的浏览器被认为仅能提供“简陋却无妨 (poor, but passable)” 的浏览体验。你可以做一些小的调整来适应某个特定的浏览器。但由于它们并非我们所关注的焦点,因此除了修复较大的错误之外,其它的差异将被直接忽略。
广义和狭义不同视角:
1.广义:其实要定义一个基准线,在此之上的增强叫做渐进增强,在此之下的兼容叫优雅降级。(比如IE8,这个基准线对于我,是允许使用javascript、cookie和css的IE8浏览器)
2.狭义:渐进增强一般说的是使用CSS3技术,在不影响老浏览器的正常显示与使用情形下来增强体验,而优雅降级则是体现html标签的语义,以便在js/css的加载失败/被禁用时,也不影响用户的相应功能。
评论