1.css的继承:就是给parent设置一些属性,child继承parent的属性。这是我们css中的继承。官方的解释是,继承是一种规则,它允许样式不仅适用于特定的HTML标记元素,还适用于它们的后代元素。A。继承属性1.字体族属性font:组合字体font-family:指定元素的字体族font-weight:设置字体的粗细font-size:设置字体的大小font-style:定义元素的样式2.文字系列属性text-index:文字缩进text-align:文字水平对齐line-height:行高word-spacing:增减字间距,即letter-spacing:增减间距字符之间,即字符间距方向:指定文字的书写方向颜色:文字颜色3.元素可见性4.游标属性cursor5.所有元素都可以继承属性visibility/cursor6.内联元素可以继承属性fontfamilyattribute/excepttext-除缩进、text-align之外的文本系列属性7.块级元素可以继承属性text-align/text-indentb。没有继承属性1.display2。文本属性vertical-align:文本垂直对齐text-shadow:文本阴影效果white-space:空白字符3.盒模型属性width/height/margin/border/padding4。背景属性background/background-color/background-image/background-repeat/background-position5。定位属性float/clear/position/top/right/bottom/left/z-index/overflow6.大纲样式属性outline2.css预处理工具csspreprocessor是一个程序,可以让你通过预处理器自身独特的语法生成csssasscompatiblecssextension。scss/.sassless与css扩展兼容。lessstylus与css扩展兼容。styl使用缩进语法3.内联元素/块级元素块级元素1.始终从新行开始,即每个块级元素占一行,默认为垂直向下排列2.高度,width,margin,padding都是可控的,设置有效3.不设置width时,默认为100%4.块级元素可以包含块级元素和行内元素行内元素1.和其他元素是inoneline,即行内元素和其他元素会排在一条水平线上2.高度和宽度不可控,设置无效,由内容决定3.根据标签语义的概念,内联元素应该只包含行内元素,不能包含块级元素转换1.display:inline转换为inline元素2.display:block转换为块元素3.display:inline-块转换为内联块元素块元素可以继承Text-indentText-alignVisibilityCursor4的属性。盒子模型css盒子模型本质上是一个封装html元素的盒子,包括margin/border/padding/content标准模型width=contentie模型width=border+padding+contentCustomBox-sizing:content-box(默认模式)Box-sizing:border-box(iemode)js获取框模型的宽高dom.style.width/height获取内联样式窗口的宽高。getComputedStyle(dom).width/heightDom.getBoundingClientRect().width/heightie模式渲染宽高dom.offsetWidth/offsetHeightcontent+innermargin+bordernotincludingoutermargin5.bfcblock-levelformattingcontextconcept:bfc是css布局的一个概念。它是一个独立的渲染区域和环境。内部元素不会影响外部元素。问题:父子元素与兄弟元素重叠,重叠原则取最大值,空元素的边缘从重叠的css中取margin和padding的最大值创建bfc,出文档流1.HTML元素2.浮动3.绝对定位4.显示:inline-block5.表格元素6.弹性框7.overflow:隐藏使用场景1.自适应布局,避免多列布局因宽度计算导致舍入和换行2.避免元素被浮动元素覆盖3.父元素高度包含子浮动元素,清除内部浮动4.去除边距重叠,属于不同的bfc6.ifcinlineformats上下文化1.内部框将在水平方向一一放置direction2.这些box的水平margin/border/padding都是有效的3.对齐方式line-height/vertical-align
