-
padding是元素内容与边框间的内边距,影响背景和尺寸;margin是边框外与其他元素的间距,不显示背景且可为负值。1.padding属于内部空间,增加元素整体大小,背景色会延伸至该区域;margin属于外部空间,不影响自身尺寸但控制元素间距离。2.使用padding可提升内容可读性、按钮舒适度;使用margin实现模块间隔、居中布局。3.默认width仅含content,padding会扩大实际占用空间,可通过box-sizing:border-box调整;垂直margin相邻时会发生合并,取最大值而
-
装饰器通过声明式语法为类和方法添加额外行为,解决横切关注点如权限校验、日志、性能监控等重复逻辑问题。它以高阶函数形式运作,接收目标元数据并修改其行为,实现业务与非业务逻辑解耦。类装饰器操作构造函数,方法装饰器通过descriptor包装逻辑,属性装饰器调整属性描述符。尽管提升代码可维护性,但存在兼容性、调试困难、滥用导致复杂性和执行顺序易错等挑战,需谨慎使用。
-
使用position:absolute使弹窗脱离文档流并自由定位,配合top、left与transform实现居中;2.通过设置较高的z-index(如1000以上)确保弹窗层级最高;3.避免父级层叠上下文干扰,建议将弹窗挂载至body或使用Portal技术,确保正确显示在最上层。
-
响应式布局通过媒体查询和百分比布局实现多设备适配。首先使用min-width设置移动端优先的断点,如768px以上适配平板,1024px以上适配桌面;其次采用百分比宽度替代固定像素,结合box-sizing:border-box确保元素弹性伸缩;再配合Flexbox布局,在不同屏幕下动态调整排列方式,如小屏垂直堆叠、大屏水平分布;最终通过流动布局与条件样式的思维构建自适应页面。
-
闭包是词法作用域、函数作为一等公民和垃圾回收机制共同作用的自然结果;当内部函数引用外部变量并逃出定义作用域执行时形成闭包,否则不构成;常见问题包括循环变量捕获异常和内存泄漏。
-
HTML5小游戏跨平台分享需生成带状态的URL并适配各平台预览:用URLSearchParams编码状态至query,敏感数据走短链后端映射;微信需硬编码wx-open-graphmeta且图片满足HTTPS/尺寸/缓存更新要求;QQ、微博依赖OG协议但细节不同;短链须用base62编码、设TTL、302重定向;必须真机测试。
-
HTML5通过内联<svg>标签实现SVG动画,而非<img>引用;需用CSS/JS控制内联SVG的DOM元素,避免SMIL兼容性问题,注意内联、显示状态和容器溢出等上下文陷阱。
-
poster属性仅支持同源静态图片路径,不支持网络地址、空字符串或DataURL;本地file://协议下失效;需确保HTTP200响应及正确MIME类型(image/jpeg或image/png),推荐使用相对路径且尺寸匹配视频分辨率。
-
JavaScript可选链(?.)用于安全访问嵌套属性、方法或数组元素,遇null/undefined立即返回undefined而不报错;支持属性访问、函数调用、数组索引三种形式,并可与??配合提供默认值,但不可用于赋值。
-
轮播图组件通过HTML结构、CSS样式和JavaScript逻辑实现自动播放、手动切换与指示器功能,支持悬停暂停和多实例复用,适用于网页图片展示。
-
混用font-size的%和px会破坏继承链,导致字体大小计算失控;应锚定根字号,组件内用em/%缩放,line-height必须用无单位值。
-
长文本溢出容器不换行的根源是white-space被设为nowrap或pre;中文长串需用overflow-wrap:break-word或word-break:break-all;Flex/Grid子项须加min-width:0才能正常折行。
-
:hover和:focus需显式组合(如:hover:focus)才能同时生效,否则样式互不影响;单独使用无法实现叠加态效果,且需注意优先级、可访问性及移动端兼容性。
-
使用CSSFlexbox可轻松创建响应式图片画廊,通过display:flex和flex-wrap实现自动换行与等比缩放,结合gap设置间距,flex属性控制最小宽度(如200px)并允许伸缩,配合媒体查询优化小屏显示(如600px以下设为150px),确保在不同设备上均具有良好视觉效果。
-
有序列表使用<ol>标签创建,浏览器自动分配从1开始的数字编号;通过start属性可自定义起始编号,如start="5";CSS的list-style-type可设置编号样式,如lower-alpha(a,b,c)、upper-roman(I,II,III)等;reversed属性实现倒序显示,value属性指定某项具体编号,后续项自动递增。