首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS魔法堂:改变单选框颜色就这么吹毛求疵!

另外值得注意是,通过键盘Tab键让单选框获得焦点后,再按下Space键则会选中单选框。  有了上述了解,我们可以开始着手撸代码了! 少废话,撸代码 ?...上图中左侧就是原生单选框,右侧我们自定义单选框。从上到下依次选中选中、获得焦点和disabled状态样式。...但由于label控件自身限制,如默认不是可获得焦点元素,因此无法传递键盘按键事件到单选框,即使添加tabindex特性也需手写JS来实现; tabindex大于等于0表示该元素可以获得焦点,0表示根据元素所在位置安排获得焦点顺序...自定义单选框内元素采用inline-block,若vertical-align设置稍有不慎就会导致内部元素所在line box被撑高,从而导致自定义单选框所在line box高度变大。...因此这里采用将内部元素display均设置block做法,直接让vertical-align失效,提高可控性。

2.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

讲道理,仅3行核心css代码rate评分组件,我被自己秀到了

02 原理 主要是借助radio单选框,梳理如下: 去找个好看iconfont; 借用5个radio单选框,把默认样式都去掉,显示默认星星; 用checked伪类监听用户选中✅,由默认星星变成高亮星星...; 然后配合~兄弟操作符把当前选中所有兄弟元素都一起高亮; 把5个radio单选框反向排列❗; 03 代码 这是我事先生成好iconfont: 一个很简洁布局: 先把默认星星显示出来: // 去掉默认样式...input{ -webkit-appearance: none;border: none;outline: none;cursor: pointer;}.rate-content{$main:#ffa822...04 总结 核心代码其实就是这两段,其他都是可选 元素反向排列: display: flex;flex-flow: row-reverse; 兄弟元素操作: input:checked ~input...内边距作用是保持元素连贯性以及扩大点击范围

61820

讲道理,仅3行核心css代码rate评分组件,我被自己秀到头皮发麻

01 效果图 02 原理 主要是借助radio单选框,梳理如下: 去找个好看iconfont; 借用5个radio单选框,把默认样式都去掉,显示默认星星; 用checked伪类监听用户选中✅,由默认星星变成高亮星星...; 然后配合~兄弟操作符把当前选中所有兄弟元素都一起高亮?...; 把5个radio单选框反向排列❗; 03 代码 这是我事先生成好iconfont: <link rel="stylesheet" href="//at.alicdn.com/t/font_1356455...: // 去掉默认样式 input { -webkit-appearance: <em>none</em>; border: <em>none</em>; outline: <em>none</em>; cursor: pointer; }...<em>元素</em>反向排列: <em>display</em>: flex; flex-flow: row-reverse; 兄弟<em>元素</em>操作: input:checked ~ input 如果不用flex反向排列,还可以用rotateZ

45930

讲道理,仅3行核心css代码rate评分组件,我被自己秀到头皮发麻

01 效果图 02 原理 主要是借助radio单选框,梳理如下: 去找个好看iconfont; 借用5个radio单选框,把默认样式都去掉,显示默认星星; 用checked伪类监听用户选中✅,由默认星星变成高亮星星...; 然后配合~兄弟操作符把当前选中所有兄弟元素都一起高亮?...; 把5个radio单选框反向排列❗; 03 代码 这是我事先生成好iconfont: <link rel="stylesheet" href="//at.alicdn.com/t/font_1356455...: // 去掉默认样式 input { -webkit-appearance: <em>none</em>; border: <em>none</em>; outline: <em>none</em>; cursor: pointer; }...<em>元素</em>反向排列: <em>display</em>: flex; flex-flow: row-reverse; 兄弟<em>元素</em>操作: input:checked ~ input 如果不用flex反向排列,还可以用rotateZ

37710

纯CSS实现iOS风格打开关闭选择框

label 元素不会向用户呈现任何特殊效果,标签作用是鼠标用户改进了可用性,当用户点击标签中内容,浏览器就会自动将焦点转到和该标签相关联控件上;标签在单选按钮和复选按钮上经常被使用...,使用该标签后,你点击label标签内内容,也可以选中对应单选按钮或复选按钮。...form,form属性是用来规定所属一个或多个表单 id 列表,以空格隔开;标签不在表单标签中,就需要使用form属性来指定所属表单; 元素没有特别的样式考虑...元素不浮动,并会显示在其在文本中出现位置。 inherit 规定应该从父元素继承 float 属性值。 元素怎样浮动: 元素在水平方向浮动,即元素只能左右移动而不能上下移动。...注意: 绝对定位元素忽略float属性! 2.3 CSS3 :checked 选择器 :checked 选择器匹配每个选中输入元素(仅适用于单选按钮或复选框)。

1.1K41

3行核心CSS代码rate评分组件,秀到你怀疑人生

实现选中单个星星 实现连同兄弟元素一起高亮 然后把input反向排列 鼠标移入预览选中效果 加入放大动画 总结 获取代码 ---- 原理 梳理如下: 去找个好看iconfont,[Iconfont...-阿里巴巴矢量图标库]、; 借用5个radio单选框,把默认样式都去掉,显示默认星星; 用checked伪类监听用户选中✅,由默认星星变成高亮星星; 然后配合~兄弟操作符把当前选中所有兄弟元素都一起高亮...); } 效果如下: 实现连同兄弟元素一起高亮 /* 实现选中单个星星 */ /* 高亮星星 */ input[name="rate"]:checked::after, input[name="rate...效果如下: 然后把input反向排列 .rate-content { display: flex; flex-flow: row-reverse; } 效果如下: 鼠标移入预览选中效果 input...元素反向排列: display: flex; flex-flow: row-reverse; 兄弟元素操作: input:checked ~ input 获取代码 https://coding.zhangbing.site

44030

3行核心CSS代码rate评分组件,秀到你怀疑人生

用css实现一个rate评分 ❗ 核心代码也就三行,效果如下: 目录 原理 代码 基本布局 先把默认星星显示出来 实现选中单个星星 实现连同兄弟元素一起高亮 然后把input反向排列 鼠标移入预览选中效果...加入放大动画 总结 获取代码 原理 梳理如下: 去找个好看iconfont,[Iconfont-阿里巴巴矢量图标库]、; 借用5个radio单选框,把默认样式都去掉,显示默认星星; 用checked...伪类监听用户选中✅,由默认星星变成高亮星星; 然后配合~兄弟操作符把当前选中所有兄弟元素都一起高亮; 把5个radio单选框反向排列 ❗; 代码 基本布局 这是我事先生成好iconfont <link...); } 效果如下: 实现连同兄弟元素一起高亮 /* 实现选中单个星星 */ /* 高亮星星 */ input[name="rate"]:checked::after, input[name="rate...元素反向排列: display: flex; flex-flow: row-reverse; 兄弟元素操作: input:checked ~ input 获取代码 https://coding.zhangbing.site

71140

3行核心CSS代码rate评分组件,秀到你怀疑人生

实现选中单个星星 实现连同兄弟元素一起高亮 然后把input反向排列 鼠标移入预览选中效果 加入放大动画 总结 获取代码 ---- 原理 梳理如下: 去找个好看iconfont,[Iconfont...-阿里巴巴矢量图标库]、; 借用5个radio单选框,把默认样式都去掉,显示默认星星; 用checked伪类监听用户选中✅,由默认星星变成高亮星星; 然后配合~兄弟操作符把当前选中所有兄弟元素都一起高亮...); } 效果如下: 实现连同兄弟元素一起高亮 /* 实现选中单个星星 */ /* 高亮星星 */ input[name="rate"]:checked::after, input[name="rate...效果如下: 然后把input反向排列 .rate-content { display: flex; flex-flow: row-reverse; } 效果如下: 鼠标移入预览选中效果 input...元素反向排列: display: flex; flex-flow: row-reverse; 兄弟元素操作: input:checked ~ input 获取代码 https://coding.zhangbing.site

51810

使用 CSS Checkbox Hack 技术纯手工撸一个手风琴组件

这里运用是:checked 伪类选择器,其意思就是“如果选中了表单(复选框、单选按钮),则应用相关样式规则” 我们通常隐藏表单控件,然后结合标签来控制复选框或单选选择,制作一些特殊效果...如果您在 label 元素内点击文本,就会触发此对应表单控件。就是说,当用户选择该标签,浏览器就会自动将焦点转到和标签相关表单控件上。这就是这个案例关键所在,让我们能在选项卡直接进行切换。...同时为了让用户区分选中了哪个选项卡,我们需要定义处理选项卡处于选中状态对应标题颜色。...最后定义一个可选外观样式(非必须样式,可选),每个单选按钮获取焦点,我们lable标签定义outline属性,这个细节帮助我们增强组件可访问性。...幸亏我们使用了弹性盒子布局,在这种情况下,我们让手风琴垂直显示,也就是每个选项卡纵向分布(列布局),每个选项卡标题内容横向分布(行布局),示意图效果如下: ? 对应代码如何实现呢?

3.2K20

谈谈一些有趣CSS题目(八)-- 纯CSS导航栏Tab切换方案

:target 是 CSS3 新增一个伪类,可用于选取当前活动目标元素 URL 末尾带有锚名称 #,就可以指向文档内某个具体元素。...{ } 这条 CSS 规则,#content1 元素由 display:none 变成display:block ,点击列表2亦是如此。....nav1:checked ~ .nav li { // 进行样式操作 } 同样用到了兄弟选择符 ~ 这样,接收到表单元素点击事件,可以通过兄弟选择符 ~ 操作它兄弟元素样式。...这样改造之后,当我们点击  元素时候,相当于点击了 这个单选框表单元素,而这个表单元素被点击选中时候,又可以被...这个时候,我们就可以将页面上表单元素隐藏,做到点击  相当于点击表单: input{ display:none; } 这样,应用到本题目,我们应该建立如下 DOM 结构: <div class

1.7K20

讲道理,仅3行核心css代码rate评分组件,我被自己秀到头皮发麻🙆‍♂️

w=470&h=87&f=gif&s=158074] 原理 梳理如下: 去找个好看iconfont,Iconfont-阿里巴巴矢量图标库; 借用5个radio单选框,把默认样式都去掉,显示默认星星;...用checked伪类监听用户选中✅,由默认星星变成高亮星星; 然后配合~兄弟操作符把当前选中所有兄弟元素都一起高亮; 把5个radio单选框反向排列 ❗; 代码 这是我事先生成好iconfont...: // 去掉默认样式 input { -webkit-appearance: none; border: none; outline: none; cursor: pointer; }...字体 font-size: 30px; padding-right: 10px; // 默认显示星星 &::after { content: "\...w=470&h=87&f=gif&s=171831] 总结 核心代码其实就是这两段,其他都是可选 元素反向排列: display: flex; flex-flow: row-reverse; 兄弟元素操作

59250

JavaScript学习笔记(一)

label作用:for属性可以绑定一个input,然后点击label文字即相当于选中 需要注意是:for属性值只能是要关联表单元素id值 2、设置单选按钮 单选按钮用 <input type...常见属性 value:指定下拉菜单选value值 type:指定下拉菜单类型是单选还是多选 text:指定下拉菜单选文本值 select:声明是否被选中 options:选项数组...= 'none'; target.className = 'add' } break; case 'INPUT'://点击checkbox,父亲元素选中,则孩子节点中...checkbox.length;i++) checkbox[i].checked = false; } } parcheck(target,sibcheck(target));//孩子结点取消选中时候调用该方法递归其父节点...checkbox逐一取消选中 break; } }); window.onload = function(){//页面加载给有孩子结点元素动态添加图标 var labels =

3.2K20

Web-第二天 HTML表单&CSS【悟空教程】

radio:单选框,表示一组互斥选项按钮中一个。一个按钮被选中,之前选中按钮就变为非选中 。 submit:提交按钮。提交按钮会把表单数据发送到服务器。...submit和reset按钮显示数据 size:大小 checked属性:单选框或复选框被选中。...常见行内元素:、 等 在开发中,希望行内元素具有块元素特性,需要使用display进行转换 选择器{display:属性值} 常用属性值: inline:此元素显示行内元素(...行内元素默认display属性值) block:此元素将显元素(块元素默认display属性值) none:此元素将被隐藏,不显示,也不占用页面空间。...通过css对其进行转换 display: block、none 第2章 总结 ?

4.2K40

Web阶段:第五章:JQuery库

:visible").css("background", "#bbffaa"); }); //2.选择所有不可见 div 元素 //不可见:display属性设置none,或...tesst styledisplay"none"div...2.显示全部内容时候,按钮文本显示精简品牌” 然后,小三角形向上。所有品牌产品默认颜色。 3.显示精简品牌时候,要隐藏卡西欧之后品牌,按钮文本显示全部品牌” 然后小三形向下。...就马上执行了 原生js页面加载完成之后触发时间是: // 原生js除了要等浏览器内核解析完标签,创建好dom对象之外, // 还需要等页面中所有元素去准备好自己显示需要数据。完成之后才会执行。...事件冒泡是指,父子元素同时监听同一个事件。触发子元素事件时候,同一个事件也被传递到了父元素事件里去响应。 那么如何阻止事件冒泡呢?

26.1K20
领券