css 控制 input 的text 和radio

转载 2012年03月26日 16:38:50

在制作表单页面的时候,如果页面有很多表单,我就不愿意单独定义一个input样式 然后每个input text下都去调用这个css(<input type="text" name="textfield" class="" />).我觉得这样每个input引用css的做法不理想,而且也太麻烦了.我习惯定义一个总的input样式。如input { border:1px solid #f00} ,这样为所有的input定义了一个红色边框。这样就必须在radio调用一个无红色边框的css 如:.radio { border:none} 把radio的红色边框去掉.但这样radio的外观就和默认情况下的相比不美观了很多。我在做网站的时候就碰到这样的问题,如图:

没有定义input,默认的情况下:

定义了input全局样式的情况下 radio的外观就难看了许多:


那如何用css控制input中的text和radio呢?网页设计找到了两个解决办法,还是以示例来说明:

方法一:

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>css如何控制input中的text和radio</title>
<style type="text/css">
<!--
input{behavior:url(text.htc)} 
-->
</style> 
</head>
<body>
<input type="text" name="textfield" />
<input type="radio" name="radiobutton" value="radiobutton" />
</body>
</html>

就是在css中调用了text.htc文件。何谓htc文件?htc的全称就是html components,由微软在ie5.0后开始提供的一种新的指令组合,它是一个javascript的代码文件,主要把javascript代码封装起来。所以htc文件只在ie下有效。

在text.htc文件中写入代码:
<public:component>  
  <public:attach   event="oncontentready"   onevent="init()"   />  
  <public:attach   event="ondetach"   onevent="on_deatch()"   />  
  <script>  
  function init()  
  {  
  if(element.type=="text")  
  {  
  element.style.border="1px solid #f00"  
  }  
  }  
  </script>  
</public:component> 

ps:此方法的一个bug是在firefox下不支持。而且据说用htc比较占资源。所以不推荐使用。

方法二:

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>css如何控制input中的text和radio</title>
</head>
<body>
<input type="text" name="textfield" />
 <input type="radio" name="radiobutton" value="radiobutton" />
</body>
</html>
<script language="javascript" type="text/javascript">
var obj = document.getelementsbytagname("input");
for (var i=0; i<obj.length; i++)
{
    if (obj[i].type=="text"){obj[i].style.border="1px solid #f00" }
}
</script>

ps:就是在页面最下面加上这端js代码。这个方法比较实用,也可以推荐使用,特别感谢可乐用js的办法来解决这个问题

示例显示:


相关文章推荐

css input[type=file] 样式美化 (radio checkbox类似)

在做input文本上传时,由于html原生的上传按钮比较丑,需要对其进行美化主要想到以下几种方法,欢迎大家补充1. 通过position和opacity实现 input的透明度设置为0,设置为绝对定位...

jquery对象控制type=radio的input问题解决方法:

前提: 自动发送 手动发送                                需求:   &...

input checkbox / radio 大变样

实际应用中,我们很少使用原生的input框,大家都嫌他丑…也因此诞生了很多美化input的插件。工作中,设计师根据不同系统设计的input框可谓各式各样,以最近做的一个项目为例,不借助插件,input...
  • Y_G_G
  • Y_G_G
  • 2017-06-28 11:42
  • 86

表单元素与提示文字无法对齐的问题(input,radio,checkbox文字对齐)

制作前端页面时,由于要兼容各个浏览器,表单的页面中都存在表单元素与提示文字无法对齐的问题。 解决的关键是vertical-align:middle属性,一定要给input标签和文字的标签同时加上该属...

利用JS对两行Input radio 进行互斥选择。

根据项目需要对radio 进行选择 就是说第一种选了第二种不能在选了。 标签是很简单 直接   主要说一下JS代码如下  $(function()...

JQuery中 input areatext select checkbox radio 取值方法

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1999/xhtml">     无标题...

HTML基础 form-input-radio创建多组并且每组有多个的单选按钮(不漂亮的)

镇场诗:慈心积善融学习,技术誓为大家学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。 ———————————————————————————————————————————————...

jquery 中input /checkbox/radio/button/select未选中的值/等取值问题

var sel=$("#sel option:selected") 查找所有选中的选项元素 option.val(); option.text(); ...

JSF学习小结值radio,input

初学JSF会感到他强大的同时也会被它那
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)