-
答案:margin和padding是CSS盒模型中控制布局的核心属性,padding指内容与边框间的内边距,影响元素内部空间且背景可延伸;margin指边框与其他元素间的外边距,创造外部间隔但不增加元素尺寸。两者在响应式设计中通过相对单位和媒体查询实现自适应,配合box-sizing:border-box可避免布局溢出。垂直方向的margin会发生折叠,需通过添加border、padding或创建BFC等方式避免。实际开发中应利用开发者工具调试,建立统一间距规范,使用CSS变量提升维护性,并优先采用简写属
-
JavaScript在==、+、!、if判断、&&、||等场景下会按抽象操作规范自动类型转换,这是语言设计而非bug,但易导致非直觉结果,应显式控制类型避免陷阱。
-
transition无效的主因是hover前后属性类型不匹配:需确保属性名一致、值类型可插值(如颜色/长度/opacity)、初始值非auto/unset,且避免使用display/visibility等不可过渡属性。
-
支持transition-property的是可动画化(animatable)CSS属性,如color、opacity、transform、width等;display、position、font-family等不可动画化属性无效;需查MDN的「Animatable」字段确认。
-
word-break和overflow-wrap触发条件不同:前者暴力拆词,后者礼貌换行;中文场景推荐overflow-wrap:break-word+word-break:keep-all。
-
Vue通过VueRouter实现真正的单页应用(SPA),无需刷新或切换HTML文件即可动态切换不同布局的“页面”,所有视图均在index.html内按需渲染,保持Vue实例统一、状态可控、体验流畅。
-
rgba渐变中alpha仅作用于颜色自身而非视觉透明度,需固定RGB、仅调alpha以突出透明度变化,避免混用transparent,结合backdrop-filter或伪元素实现精准透出效果。
-
答案:通过GeolocationAPI可获取用户位置,但需用户授权并重视隐私保护。使用getCurrentPosition()或watchPosition()获取经纬度及精度、速度、方向等数据,提升地图应用体验;而赢得用户信任的关键在于透明告知、最小化收集、提供控制权和保障数据安全,确保合规与尊重用户隐私。
-
Symbol.iterator用于同步遍历,需返回具有next方法的迭代器对象,支持for...of循环;Symbol.asyncIterator用于异步遍历,返回Promise形式的{value,done}结果,支持forawait...of循环。
-
JavaScript解构赋值是基于模式匹配的变量声明机制,支持数组/对象嵌套、剩余元素、默认值及重命名,但需注意键名精确匹配、null/undefined校验及过度嵌套风险。
-
图片在CSS网格中拉伸变形的主因是容器尺寸固定而图片未受控缩放,解决关键是用object-fit控制缩放方式,并确保父容器尺寸合理、图片自身不被错误设宽高。
-
navigator.geolocation需HTTPS或localhost、检查支持性、必须传error回调;watchPosition需手动clearWatch防泄漏;enableHighAccuracy耗电且室内无效;拒绝权限后需降级方案。
-
HTML5的<meta>标签中真正影响SEO的是description、robots和viewport三类;keywords等已被忽略;charset必须为UTF-8且置于head最前;结构化数据须用JSON-LD而非meta。
-
flex布局比百分比更可靠,因其自动分配剩余空间、处理溢出且不受边框/内边距四舍五入影响;推荐display:flex+flex-wrap:wrap,用gap替代margin,父容器设box-sizing:border-box。
-
<base>标签用于统一设置页面内所有相对URL的解析基准,必须置于<head>中且仅能出现一次;其href值须为绝对URL或根相对路径,动态修改无效。