百科狗-知识改变命运!
--

:default - 默认状态的表单元素 - UI元素状态伪类选择器

百变鹏仔1年前 (2023-11-21)阅读数 27#技术干货
文章标签选项

:default

版本:CSS3

CSS伪类:default表示一组相关元素中的默认表单元素。该选择器可以在上使用。

语法:

E:default{sRules}

CSS3:default伪类选择器只能作用在表单元素上,表示默认状态的表单元素。

/* selects any default  */
input:default {
  background-color: lime;
}

允许多个选择的分组元素也可以具有多个默认值,即,它们可以具有最初选择的多个项目。在这种情况下,所有默认值都使用:default伪类表示。例如,您可以在一组复选框之间设置默认复选框。

浏览器支持

IE不支持:default。其余新版浏览器都支持:default

示例

举个例子,一个下拉框,可能有多个选项,我们默认会让某个处于selected状态,此时这个可以看成是处于默认状态的表单元素(例如下面示意代码的“选项4”),理论上可以应用:default伪类选择器。

 选项1
    选项2
    选项3
    选项4
    选项5
    选项6



//CSS

option:default {
    color: red;
}

则在Chrome浏览器下,当我们选择其他选项,此时就可以看到选项4是红色了,效果如下图:

Firefox浏览器下效果也是类似:

IE浏览器则不支持。

因此,移动端可以放心使用,桌面端不用管IE的项目也可以用起来。


CSS3:default伪类选择器作用设计的作用是让用户在选择一组数据的时候,依然知道默认选项是什么,否则其他选项一多,选着选着就不知道默认提供的是哪个了,算是一种体验增强策略。作用不是很强烈,但是关键时刻却很有用。

//HTML

spring


summer


fall


winter


//CSS

input:default {
  box-shadow: 0 0 2px 1px coral;
}

input:default + label {
  color: coral;
}
springsummerfallwinter.demo3 label{margin-right:20px;}.demo3 input:default{box-shadow: 0 0 2px 1px coral;}.demo3 input:default + label{color: coral;}

:default伪类选择器一些特性研究

1.研究1:JS快速修改会不会有影响?

测试代码如下:

:default {
  transform: sclae(1.5);
}
document.querySelectorAll('[type="radio"]')[2].checked = true;

也就是HTML设置的是第2个单选框放大1.5倍,JS立即瞬间设置第3个单选框选中,结果发现就算很快,哪怕是几乎无延迟的JS修改,:default伪类选择器的渲染依然不受影响。

因此,本题答案是无影响

2.研究2:如果没有设置selected属性,浏览器会默认呈现第1个,此时第1个响应:default伪类选择器吗?

例如:

option:default {
    color: red;
}
 请选择
    北京
    上海
    深圳
    广州
    厦门

结果第一个没有红色,如下图,因此,:default选择器要想有作用,必须要selectedtrue。同样的,对于单复选框,checked值也要是true

因此,本题答案是不会响应

:default伪类选择器实际应用

虽然说:default选择器是用来标记默认状态的,避免选择混淆。但是实际上,在我看来,更有实用价值的应该是“推荐标记”。

现代web应用越来越智能,有时候有些操作会智能给用户push一些选择,其中默认将推荐的设置设为checked状态,以前我们的做法是另外输出文字“(推荐)”,现在有了:default选择器,我们的实现可以变得更加简洁,也更容易维护。

效果如下图:

点击其他选项,“推荐”二字依然稳固。以后,如果要更换推荐选项了,直接修改inputchecked属性就可以,维护更简单了。

相关CSS和HTML代码如下:

input:default + label::after {
    content: '(推荐)';
}

支付宝

微信

:default - 默认状态的表单元素 - UI元素状态伪类选择器

银行卡

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)