-
最常见的:hover写法错误是冒号后有空格或选择器主体后有空格,如button:hover和a:hover均错误;需确保伪类紧跟选择器、无空格、元素可交互、transition定义在常态规则中且未被更高优先级覆盖。
-
使用CSSGrid的auto-fit和minmax实现响应式图标网格,通过grid-template-columns:repeat(auto-fit,minmax(80px,1fr))让图标自适应屏幕宽度,结合gap和padding优化间距,在小屏设备可调整minmax最小值为60px及减小gap,并用媒体查询进一步适配,配合图标字体或SVG确保各设备显示良好。
-
npm是JavaScript项目的依赖管理工具,通过package.json声明契约、package-lock.json锁定精确版本,需用命令安装依赖而非手动修改文件,且必须提交lock文件以确保环境一致。
-
z-index用于控制定位元素在层叠上下文中的垂直堆叠顺序,其生效前提是元素position不为static,且层级比较仅限于同一层叠上下文中;创建层叠上下文的条件包括设置z-index、opacity<1、transform不为none等,父级上下文的层级决定子元素整体堆叠位置,子元素高z-index无法突破父级上下文限制;负z-index可将元素置于父元素背景之下但边框之上,适用于背景特效或底层交互;避免层级混乱的关键是理解层叠上下文边界、使用小数值递增、借助CSS变量统一管理,并通过开发者工具
-
符合HTML5规范的网页需:一、用<!DOCTYPEhtml>和<htmllang="zh-CN">等结构;二、以<header><nav><main><article><footer>替代div;三、用<video><audio>及<source>嵌入媒体并设备用文本;四、用type="email"/required等增强表单;五、正确使用Canvas与SVG绘图。
-
移动端Flex布局异常时应优先用媒体查询切换flex-direction为column。常见场景包括按钮重叠、卡片文字过窄、表单错位等;推荐断点max-width:768px,并配合align-items、justify-content、width等属性优化,真机测试必不可少。
-
HTML5开发核心是HTML搭骨架、CSS控样式、JS实现交互;需掌握语义化标签、CSS选择器与盒模型、DOM操作与事件监听,并协同完成如折叠面板等闭环功能。
-
答案:HTML5中通过CSS的relative和absolute定位图片。相对定位按自身偏移不脱离文档流,用于微调;绝对定位脱离文档流,相对于最近已定位祖先元素定位,常用于精确布局。配合父容器的relative设置与z-index图层控制,可实现灵活精准的图片定位效果。
-
正确加载HTML需匹配环境:本地双击用file://协议;Python内置服务器解决跨域;VSCodeLiveServer支持热重载;远程部署需Web服务器;Node.js服务适合定制化需求。
-
正确配置transition、选择合适缓动函数、减少布局重排可提升文字大小动画流畅度。1.明确设置transition:font-size而非all;2.使用ease-in-out或cubic-bezier优化动效;3.用固定容器、transform:scale或will-change避免性能问题;4.多元素同步时改用rem配合根字体变化。
-
CSS选择器权重按ID位、类位、标签位三级“位值”模型逐位比较,非十进制加法;ID位相同则比类位,类位高者胜,与标签数量无关;:not()、属性选择器等隐含类位,内联样式为(1,0,0,0);!important不改变权重,仅提升应用优先级。
-
absolute定位会脱离文档流,relative不脱离;fixed相对于视口固定,sticky在临界点前相对文档流、后转为固定;脱离流元素仍可交互但需注意遮挡与可访问性问题。
-
备忘录模式通过发起人、备忘录和负责人三者协作,实现对象状态的保存与恢复;发起人创建并恢复状态,备忘录存储状态且对外透明,负责人管理备忘录而不访问其内容,从而在不破坏封装性的前提下支持撤销、重做、游戏存档等场景。
-
虚拟DOM通过JavaScript对象模拟DOM结构,结合diff算法高效比对变化并批量更新真实DOM。1.虚拟DOM是轻量的JS对象,描述真实DOM结构;2.diff算法采用分层对比、类型不同则替换整树、列表依赖key识别节点复用等策略;3.有key时能精准识别节点移动而非重建;4.简易实现包括创建vnode、render生成真实DOM、patch对比更新;5.实际框架在此基础上加入调度与批处理机制;6.理解原理有助于优化组件性能,如合理使用key避免不必要渲染。
-
JavaScript操作日期时间主要依靠Date对象,支持创建(当前时间、字符串、数值、时间戳)、获取(本地/UTC各部分值)、格式化(toString/isISOString/toLocaleString)及计算(毫秒差、加减、比较)。