您现在的位置是:综合 >>正文

html隐藏文字代码

综合82人已围观

简介你正在读的这段话,其实并不存在。 上面这行字,浏览器会老老实实地渲染,但你看不见。这是我用HTML里最不起眼的`hidden`属性干的。它不像`display:none`那样粗暴地把元素从页面流里拽走 ...

上面这行字,代码浏览器会老老实实地渲染,隐藏但你看不见。文字这是代码我用HTML里最不起眼的`hidden`属性干的。它不像`display:none`那样粗暴地把元素从页面流里拽走,隐藏也不像`visibility:hidden`那样留个透明占位符——`hidden`就像给元素贴了张“查无此人”的文字便签,连屏幕阅读器都懒得搭理它。代码 你可能觉得这玩意儿没用。隐藏但我在调试一个后台系统时,文字发现了个妙用:表单校验的代码报错信息,如果直接`display:none`,隐藏用户用键盘Tab切换焦点时,文字屏幕阅读器会跳过它,代码视障用户根本不知道哪里填错了。换成`hidden`属性后,配合`aria-live`区域,报错能安静地出现在DOM里,读屏软件却会主动播报。这算不算“看不见的体贴”? 当然,`hidden`也有脾气。你想用CSS覆盖它?试试`[hidden]{ display:block}`,或者干脆`!important`——但记住,它默认的`display:none`优先级很高,除非你明确写了属性选择器。我有次犯懒,直接给一个带`hidden`的div加了`display:flex`,结果页面崩得像个被掀翻的棋盘。后来学乖了,要么删掉属性,要么用`hidden`配合`[hidden]:not(.show)`这种骚操作。 还有更野的玩法。有人用`hidden`做“点击查看答案”的交互——按钮按下时,JS移除`hidden`属性,答案就“唰”地冒出来。这比用CSS类切换更省事,因为浏览器原生就懂这个属性,不用额外写样式。但别指望它能防爬虫,HTML源码里文字还是老老实实躺着的,只是视觉上藏了。想真正隐藏内容?那是`