首页 > 其他分享 >CSS按钮样式之button标签与input type=button的区别

CSS按钮样式之button标签与input type=button的区别

时间:2023-12-05 11:26:18浏览次数:52  
标签:button 表单 按钮 input 文本 type

原文链接:1、https://www.cnblogs.com/weihanli/p/5162828.html

                 2、https://www.cnblogs.com/smile6542/p/11968175.html

    

如果想要在页面上表示一个显示文本的按钮推荐input[type=”button”]方式,如果想要呈现一个图片内容或内容更丰富的按钮推荐使用button元素;

如果在普通标签中使用,两者没有区别
如果在form表单中使用,<input type="button">不会提交表单,而<button type="submit">或者<button>(默认type="submit")会引起表单的提交。
<button type="button"> <button type="reset">不会引起表单提交。

 

一、按钮上显示文本的控制
1.input[type="button"]这种方式可能大家都比较熟悉了,控制这种方式的按钮的显示文本只需要设置input的value属性即可,value属性的值就是显示在按钮上的文本

2.button标签方式,设置value的值对于显示按钮的文本并没有什么影响,下面是一段代码的测试结果,测试的浏览器分别是 chrome,IE11和Edge,经过这段代码测试可以确定的是,决定button标签表示的按钮的文本不是由value值控制的,而是由标签间的文本决定的;

3、input[type="button"]这种按钮推荐控制value来控制显示按钮的文本,button标签显示的按钮推荐使用控制元素的innerText属性来控制显示文本

二、在表单中两种方式的onclick事件

nput[type="button"]按钮点击之后,并未出现页面跳转的情况,由此可以说明表单并未提交;而对比button标签的按钮出现了页面跳转也就是表单提交。

另外button也弹出了"entered"的提示窗口,说明也触发onclick事件,但是虽然事件并未提交表单,但是button的onclick事件依然提交了表单类似于一个input[type="submit"]元素。

以上是未对button元素设置type属性,如果不设置button元素的type属性,Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C 规范)的默认值是 "submit",因此请始终为button元素设置type属性,button元素的type属性值可选值为button、submit、reset,设置过button元素的type属性之后便不再有浏览器兼容性的问题了

三、使用button创建内容更丰富的按钮

 

四、结论

  综上所述, 如果想要在页面上表示一个显示文本的按钮推荐input[type=”button”]方式,如果想要呈现一个图片内容或内容更丰富的按钮推荐使用button元素

标签:button,表单,按钮,input,文本,type
From: https://www.cnblogs.com/Dongmy/p/17876800.html

相关文章

  • Vite4+Typescript+Vue3+Pinia 从零搭建(6) - 状态管理pina
    项目代码同步至码云weiz-vue3-templatepina是vue3官方推荐的状态管理库,由Vue核心团队维护,旨在替代vuex。pina的更多介绍,可从pina官网查看特点更简洁直接的API,提供组合式风格的API支持模块热更新和服务端渲染对TS支持更为友好安装npmipinia使用1.创建......
  • 微信小程序 wx.request Typescript 封装统一请求
    话不多说直接上代码,想懂的终究会懂,哈哈哈哈文件名:request.ts 1/**2*HttpMethod类型api处要用3*/4exportenumHttpMethod{5Get="GET",6Post="POST",7Options="OPTIONS",8Put="PUT",9Delete=......
  • TypeScript中的类
    TypeScript类1.TypeScript中类的意义​ 相对以前JavaScript不得不用构造函数来充当”类“,TypeScript类的出现可以说是一次技术革命。让开发出来的项目尤其是大中项目的可读性好,可扩展性好了不是一点半点。​ TypeScrip类的出现完全改变了前端领域项目代码编写模式,配合......
  • 1.TypeScript安装
    TypeScript是由微软开发的一款开源的编程语言。它是JavaScript的超级,扩展了JavaScript的语法,遵循最新的ES6、ES5规范。TypeScript更像后端java、C#这样的面向对象语言可以让js开发大型企业项目。安装TypeScriptnpminstall-gtypescript//安装命令tschelloworld.ts......
  • 依赖 is already defined in a single-type import
    代码:importorg.apache.commons.lang3.StringUtils;不加依赖显示:Cannotresolvesymbol'lang3',加了依赖又显示:'com.sun.deploy.util.StringUtils'isalreadydefinedinasingle-typeimport这表明在代码或项目的其他地方已经导入了com.sun.deploy.util.StringUtils,并......
  • auto 和 decltype
    auto和decltype都是C++11中引入的关键字,用于自动类型推导,但它们的工作方式有所不同。auto关键字可以让编译器自动推断变量的类型,使代码更加简洁、易读4。例如:autoa=42;//a的类型被推断为intautos="hello";//s的类型被推断为constchar*但是,auto有时候会改变表......
  • typedef和#define
    typedef工具是一个高级数据特性,利用typedef可以为某一类型自定义名称(起别名)。这方面和#define类似,但二者有三处不同:1、 与#define不同,typedef创建的符号名只受限于类型(只能作为类型),不能用于值。2、 typedef由编译器解释,不是预处理器。3、 在受限范围内,typedef比#define更加灵......
  • input输入时的边框样式去除
    很多程序员在写项目过程中,会遇到input的边框样式去除问题。今天我们就研究一下,有什么办法解决这个问题?一般的,我们会给input设置:input{ border:none; }这种方法,我们去除的是显示样式,但是输入的时候,我们需要点击一下input框,发现还是有一个黑色的初始化边框:这种情况,怎么处理?我们可......
  • New Type Functions/Utilities for Dealing with Ranges in C++20
    GenericTypesofRanges  类型萃取从字面意思上来说其实就是帮助我们挑选某个对象的类型,筛选特定的对象来做特定的事。可以先来回顾一下以前的写法。#include<vector>#include<iterator>intmain(){std::vectorv{1,2,3};usingiterator_type=std::vecto......
  • # yyds干货盘点 # Python如何通过input输入一个键,然后自动打印对应的值?
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【冯诚】问了一个Python基础的问题,一起来看看吧。问题描述:大佬们,我有个字典如下:dict={'b':2,'a':4,'c':3}如何通过input输入一个键,然后自动打印对应的值?二、实现过程这里【巭孬......