一、背景介绍

下拉列表由select标签实现,单选按钮由表单元素input的type属性radio定义。以下分别是一个简单的下拉列表和单选按钮。

二、知识剖析

1、form元素

form元素定义HTML表单,HTML表单是一个包含表单元素的区域。HTML表单包含表单元素。而表单元素指的是不同类型的input元素、复选框、单选按钮、提交按钮等等。input元素是最重要的表单元素。表单元素是允许用户在表单中输入内容。input元素有很多形态,有不同的type属性,而radio是其中一个属性,用于定义单选按钮。

2、radio

input元素在form元素中使用,用来声明允许用户输入数据的input控件。输入类型是由类型属性(type)定义的,输入类型至少包含23种,大多数经常被用到的输入类型如下:text(文本输入)、password(密码输入)、submit(提交按钮)、button(按钮)、image(图像作为提交按钮)以及checkbox(复选框)和radio(单选按钮)。Radio对象代表HTML表单中的单选按钮。在HTML表单中每出现一次,一个Radio对象就会被创建。单选按钮是表示一组互斥选项按钮中的一个。当一个按钮被选中,之前选中的按钮就变为非选中的。

3、label

label标签为input元素定义标注(标记)。label元素不会向用户呈现任何特殊效果。"for"属性可把label绑到另外一个元素。只需把"for"属性的值设置为相关元素的id属性的值。给raido和后面的文字外面加个label标签的,这样的话点文字就能选上radio,改善用户体验。如果label标签包含一个input元素,那么点击label标签内容就可以选中input标签,改变radio默认样式也是基于这个原理。

4、select

select标签用来创建下拉列表。select标签中的option标签定义了列表中的可用选项。select元素用来创建下拉列表,是一种表单控件,可用于在表单中接受用户输入,select元素通过option标签定义列表中的可用选项,也就是下拉菜单选项。

三、常见问题

如何修改radio和select的默认样式:

下拉列表和单选按钮,有原始的默认样式,有时候为了美观,这些样式并不能达到我们的要求。因此需要更改样式,达到设计要求。一般的方法是使用css进行清除覆盖原有默认样式,然后添加我们想要的样式。

1、修改select默认样式

使用appearance改变下拉列表的原有默认属性,将原有默认属性清除,在重新编写样式。webkit-appearance属性是一个可以改变按钮和其他控件的外观的属性,使其类似于原生控件。-webkit-appearance是一个 不规范的属性(unsupported WebKit property),它没有出现在CSS规范草案中。此属性非标准且渲染效果在不同浏览器下不同,有些属性值不支持,所以使用时要慎用。所有主流浏览器都不支持appearance属性。Firefox支持替代的-moz-appearance属性。Safari和Chrome支持替代的-webkit-appearance属性。

select{

-moz-appearance:none;-webkit-appearance:none;border:none;margin:20px;width:100px;height:30px;padding-left:10px;padding-right:25px;color:white;background:url("../img/css-10-radio-select/rose.png")no-repeat75px#3b3b3b;

}

hello girl

2、修改radio默认样式

修改radio 默认样式原理主要是使用label标签将input标签包裹,里面再放一个inline-block标签。将input标签隐藏,使用inline-block标签样式代替input标签。要使用到:checked 伪类和:after 伪类。

.test-label{margin:20px20px0 0;display:inline-block}

.test-radio{display:none}

.test-radioInput{background-color:#fff;border-radius:100%;display:inline-block;height:16px;margin-right:10px;margin-top: -1px;vertical-align:middle;width:16px;line-height:1}

.test-radio:checked+ .test-radioInput:after{background-color:#57ad68;border-radius:100%;content:"";display:inline-block;height:12px;margin:2px;width:12px}

苹果

李子

四、扩展思考

1、checkbox怎么修改默认样式?

参考文献:

1、http://uplifted.net/programming/change-default-select-dropdown-style-just-css

2、https://fatesinger.com/74438

html单选按钮字体,如何修改radio,input元素默认样式相关推荐

  1. 默认选中 input元素默认选中设置

    input元素默认选中设置 单选按钮: 加checked=checked属性 复选框 加checked=checked属性 select下拉框 加selected=selected属性 date日期: ...

  2. Cannot read property 'nodeType' of null; audio元素默认样式下载按钮

    1.chrome-->console抛出如下错误: Uncaught TypeError: Cannot read property 'nodeType' of null 错误原因:从stack ...

  3. html去除radio的样式,【HTML+CSS】纯CSS设置checkbox大小和样式 附Radio的去除默认样式和自定义样式...

    话不多说,直接上效果图: 一.使用的基本div: 正常复选框 复选框checked 复选框disableed 二.自定义样式: input[type=checkbox] { margin-right: ...

  4. 服务器修改字体,Win10 1909默认字体怎么修改?Win10 1909默认字体修改教程

    在使用Win10 1909设备的时候,偶尔需要创建一个全新的网络连接来进行文件的共享.但许多Win10 1909用户其实并不清楚,该怎么新建网络连接!针对这一情况,小编今天为大家带来了Win10 19 ...

  5. #input框#默认样式#:怎么修改点击之后的边框的样式

    目录 前言 一.how? 总结 前言 在我们的项目的样式设计中,input框的默认样式,一般是满足不了我们的需求.所以,我们就要改变input框的默认样式.这里我们将设置input框的样式中,获取焦点 ...

  6. css修改select下拉列表的默认样式

    select的一些默认样式我们很难修改,比如图标的替换.接下来就说说如何修改这些默认样式: html代码: <div><select name=""> &l ...

  7. 修改输入框placeholder的默认样式

    一般网页中都用到input的placeholder属性,想让这个默认样式和网页保持一致,就需要重新设定样式,百度百度: :-moz-placeholder { / color: #000; opaci ...

  8. [JS][前端]修改文件input为button样式

    问题描述 在开发的时候,遇到了需要提交表单文件的需求,但是原生<input>标签特别不好看,而且还有点击提交文件的提示,这样很影响美观,于是便想着更改<input>为<b ...

  9. 如何修改css伪元素的样式

    首先说一下变成思想,众所周知,css伪元素是不可以修改的,首先你查找他的元素就很困难,不知道怎么查找的可以看一下我的另一篇原生js查看css伪元素属性,那么我们应该怎么修改呢 . 其实换一种思维事情就 ...

最新文章

  1. String[]转化暴露“思维误区”
  2. 项目: 图片放大缩小。
  3. 树莓派 RespberryPi:通过命令行关机 / 重启
  4. 什么是HystrixDashbord/如何使用?
  5. 『ACM--算法--KMP』信息竞赛进阶指南--KMP算法(模板)
  6. 松原哪家计算机学校好,松原高中学校排名2021最新排名,松原高中排名前十
  7. java baen转json 已经 json 转java bean 优秀博客分享
  8. C++最小函数模板demo
  9. 【入门】QSS基础入门笔记
  10. 计算机无法打开浏览器,win7电脑打开ie浏览器被提示“该页无法显示”怎么解决...
  11. 手机连接wifi后无法上网
  12. 鸿蒙熔炉是真实存在的吗,古董局中局父辛爵是真的吗 父辛爵真实存在国内仅有两件...
  13. html页面的dtd是什么意思,html dtd文件解释
  14. B站CEO陈睿:我们活跃用户仍维持高增长 动能是独特优质内容
  15. postgresql的下载与安装
  16. mysql字段提取函数_MySQL 字符串截取函数
  17. OpenBCI_GUI通过lsl传输出来的数据是原始数据吗?
  18. 【LeetCode】初级算法:数组
  19. java代理模式学习笔记
  20. Anaconda之通过可视化界面配置虚拟环境

热门文章

  1. 上下文无关文法(编译原理)
  2. 通过执行arp命令获取MAC地址
  3. 模块xxxx.dll已加载,但对DllRegisterServer的调用失败,错误代码为 XXXXXXXXX
  4. python抓取文献关键信息,python爬虫——使用selenium爬取知网文献相关信息
  5. Dynaform 6.0钣料分析视频教程
  6. 雨落C++小课堂第四课——C++程序结构(4)
  7. qt designer stylesheet 设置字体加粗无效
  8. Mapbox 地图SDK极速集成指导
  9. Acwing1294.樱花
  10. css行间距 line-height