-
答案:使用float属性可实现左右浮动布局,通过float:left和float:right使元素并排,配合百分比宽度与box-sizing:border-box控制尺寸,避免溢出;父容器需清除浮动防止塌陷,常用::after伪元素clear:both解决;虽现代布局多用Flex或Grid,但float在兼容性场景仍具价值。
-
用letter-spacing可直接调节文字间距,中文推荐0.02em~0.06em,标题可增至0.08em,品牌名可用1px;中英文混排宜用em单位并单独优化英文字体,慎用负值,需配合kerning与line-height综合调整。
-
CSS选择器能作用于动态元素,是因为浏览器在DOM更新后自动重新匹配样式。当JavaScript添加新元素时,只要其结构符合CSS规则,渲染引擎便在样式重算阶段为其应用对应样式,结合继承机制与实时渲染流程,确保视觉一致性。
-
JavaScript实现SPA路由的核心是不刷新页面而动态替换内容并同步更新地址栏和导航行为,需监听hashchange/popstate事件、定义路由表、用HistoryAPI导航,并配置服务端fallback;框架如ReactRouter、VueRouter提供嵌套路由、懒加载等高级功能;还需考虑状态保持与SEO优化。
-
JavaScript前端路由主要依靠HistoryAPI实现无刷新页面切换,通过pushState/replaceState修改URL并用popstate监听导航,配合路径匹配与组件渲染;旧浏览器可降级使用hashchange事件。
-
JavaScript手动拖放核心是mousedown记录偏移并绑定document的mousemove和mouseup,mousemove时用偏移量更新元素位置,mouseup时解绑事件并重置状态。
-
IIFE是定义后立即执行的函数表达式,用于创建独立作用域以避免全局污染、实现模块模式、解决循环绑定问题;现代ES6+已多用模块、let/const、class等替代。
-
可通过CSS的border-style属性设为dashed实现虚线边框:一、单边用border-top:2pxdashed#333;二、四边统一用border:1pxdashedred;三、自定义用border-image+linear-gradient;四、响应式适配用@media高DPI查询加box-shadow;五、伪元素用repeating-linear-gradient模拟。
-
HTML5中控制元素宽度有五种方式:一、HTML的width属性仅适用于img等特定元素,值为纯数字像素;二、CSSwidth支持所有单位和元素;三、CSS自适应宽度用百分比、max-width或flex/grid;四、min-width/max-width设弹性约束;五、vw单位以视口宽度为基准。
-
选Rollup发npm包,Webpack做SPA应用;Rollup专注库级打包、Tree-shaking更激进、默认不处理node_modules;Webpack主打应用构建、内置DevServer/HMR/资源加载、开箱支持第三方模块。
-
浏览器无法直接监听本地XML文件变化,必须通过轮询(如setInterval+fetch比对哈希)、服务端支持Last-Modified/ETag头、或SSE推送等外部机制实现近似实时更新。
-
使用CSSGrid布局可轻松实现整齐自适应的卡片排列。通过将父容器设置为display:grid,并使用grid-template-columns:repeat(auto-fit,minmax(250px,1fr))定义列宽,确保每列最小宽度为250px且自动换行填充容器。配合gap:16px属性统一设置卡片间的行与列间距,避免传统margin带来的对齐问题和外边距折叠。该方案天然支持响应式设计,在不同屏幕尺寸下自动调整每行卡片数量,无需额外媒体查询。可选justify-items:center实现内容居
-
动态规划通过记忆化避免重复计算,适用于重叠子问题与最优子结构,如斐波那契数列,朴素递归时间复杂度指数级,使用记忆化可降至O(n)。
-
需使用HTML5的multiple属性配合FormDataAPI实现多文件上传:在type="file"输入框添加multiple属性,通过input.files获取FileList,用FormData.append逐个添加文件,并可结合accept限制类型、校验大小、支持拖拽上传。
-
子元素选择器(>)仅选直接子元素,后代选择器(空格)选所有层级后代,相邻兄弟选择器(+)选紧接的同级元素,通用兄弟选择器(~)选之后所有同级匹配元素,组合使用可精准控制样式无需额外类名。