-
fieldset和legend用于表单语义化分组,提升可访问性;fieldset包裹相关控件,legend作为其标题,为屏幕阅读器提供上下文,优于div+h3的纯视觉分组;常用于注册页、支付信息、配置表单等场景;需注意浏览器默认样式、legend定位、disabled属性影响及嵌套使用等问题。
-
应优先使用属性选择器、CSS自定义属性、简化伪类及BEM命名来优化CSS:用[data-role="section-title"]替代深嵌套类名,提取公共值为--text-primary等变量,删减无效伪类,以.user-card__link--active等命名提升可维护性。
-
答案:JavaScript语音转文字首选浏览器WebSpeechAPI,适用于Chrome环境下的简单场景;若需高准确率、多语言支持及高级功能,则应采用前端录音、后端调用云服务(如Google、Azure)的方案。
-
移动端列表横向溢出主因是未按视口重置布局流方向,应禁用min-width/white-space:nowrap,小屏用flex-direction:column或grid-template-columns:1fr,并设max-width:100%防图片撑宽。
-
答案:通过泛型、条件类型和映射类型设计类型安全的合并函数,使TypeScript能精确推断合并后的对象结构。使用泛型T、U保留输入类型,结合Merge工具类型处理属性冲突与可选性,进一步可用DeepMerge实现嵌套合并,确保返回类型准确反映字段来源与结构,从而实现高效类型推导。
-
iframe可嵌入外部网页,需注意安全设置。通过src属性加载内容,常用属性包括width、height、frameborder和allowfullscreen;广泛用于地图、支付、广告等场景。因存在点击劫持、XSS等风险,应使用sandbox属性限制权限,如allow-scripts、allow-same-origin;通过Content-Security-Policy控制可嵌入来源;利用X-Frame-Options防止被恶意嵌套;结合CSS实现响应式布局以提升移动端体验。合理配置可兼顾功能与安全。
-
border会占位因默认box-sizing:content-box下宽度不包含边框;可用box-shadow模拟视觉边框以避免撑大布局,如box-shadow:0002px#333实现不占位边框;但box-shadow无法响应交互且不支持虚线,推荐优先使用box-sizing:border-box使border包含在宽高中,结合两者可灵活控制布局与视觉效果。
-
min-width和max-width通过设定元素宽度边界,确保响应式设计中布局的可读性与稳定性。它们优先级高于width,协同控制元素在不同屏幕下的表现,避免内容过窄或过宽,常用于容器、图片及网格布局,并结合box-sizing优化盒模型计算,减少布局重排,提升用户体验与渲染性能。
-
搜索框水平居中可通过六种方法实现:一、父容器text-align:center配合input为inline-block;二、flex布局设justify-content:center;三、margin:0auto配合display:block和固定宽度;四、grid布局用place-items:center;五、绝对定位加transform(-50%,-50%);六、text-align:center仅居中内部文字。
-
JavaScript调试主要依靠浏览器开发者工具,配合console日志、断点和调用栈分析;常用Chrome/Edge/FirefoxDevTools,重点使用Console、Sources和Network面板,并辅以debugger语句、条件断点、AsyncCallStack及console.assert/time/trace等技巧提升效率。
-
WebRTC是基于JavaScript的浏览器端实时音视频通信标准,通过MediaDevices、RTCPeerConnection和RTCDataChannel三大API实现P2P音视频通话与数据传输,需信令服务器交换SDP和ICE候选以建立连接。
-
通过link标签设置media="print"引入专用CSS文件可控制打印样式,示例代码为<linkrel="stylesheet"type="text/css"href="print.css"media="print"/>,该样式仅在打印或导出PDF时生效,不影响屏幕显示;可在print.css中隐藏导航栏、按钮、广告等非内容元素(如.navbar,.btn,.ads{display:none;}),使链接可见(
-
多页应用通过超链接跳转实现页面切换,每次刷新页面;单页应用利用JavaScript动态更新内容,支持无刷新切换。常见方法包括:原生JS控制显隐、URLhash路由、HTML5HistoryAPI及前端框架路由(如React的react-router-dom、Vue的vue-router)。其中,hash方式无需服务器配置,适合简单项目;HistoryAPI需服务器支持以避免404;大型项目推荐使用框架路由,便于管理复杂逻辑。选择方案应根据项目规模与需求决定。
-
使用FileReaderAPI读取HTML文件内容并在客户端验证;2.通过正则表达式检测恶意代码片段如script标签和onerror事件;3.利用DOM解析器结构化校验,遍历节点检查黑名单元素及属性;4.结合CSP与沙箱机制预览内容,确保无风险后才允许上传。
-
使用radial-gradient()可创建圆形或椭圆的径向渐变,语法为radial-gradient([shapesize]atposition,start-color,...,end-color);2.shape定义形状如circle或ellipse,size控制渐变范围如closest-side或farthest-corner,position设置中心点如topleft;3.颜色值按顺序定义渐变节点,支持多色过渡;4.示例包括从中心蓝到白的圆形渐变、中心移至左上角的红黄绿三色渐变,以及基于容器边距响