简洁纯净的CSS表单设计实例

  很多CSS爱好者不喜欢HTML表格,尤其是在制作表单的时候,虽然现在已经是XHTML+CSS的年代,但表单的设计大多还在采用table来布局。那么,有没有更好的使用纯语义化XHTML+CSS设计表单方法呢?今天让我们一起来尝试这种更符合语义化的方法来代替Table嵌套的表单元素吧!

  在这里暴风彬彬要说,并不是要完全摒弃table的使用,它有它的语义化布局作用,尤其是在存储数据的时候。我在大多数情况下会使用纯CSS来设计表单,但是,我也很喜欢表格,只要我们能在正确的地方使用正确的元素就可以了,不要太过追求所谓的DIV+CSS。直接使用table要比使用CSS来”模拟”(display:table;)表格更方便更快速。下面暴风彬彬将分享一种使用纯CSS代替HTML表格元素设计表单的方法。

您还可以参考以下CSS相关教程及资源:
使用CSS创建三列固定布局结构
使用CSS完美实现垂直居中的方法
通过不同的CSS设计字体大小来提高用户体验
可用性研究:为文字链接扩大可点击区域》 

CSS-表单

您可以下载源代码并使用在自己的网站项目中。

下载源文件

第一步:HTML代码

创建一个新页面index.html,然后拷贝并粘贴以下代码到<body>标签内。

<div id=”stylized” class=”myform”>
    <form id=”form” name=”form” method=”post” action=”index.html”>
        <h1>Sign-up form</h1>
        <p>This is the basic look of my form without table</p>

        <label>Name
           <span class=”small”>Add your name</span>
       </label>
       <input type=”text” name=”name” id=”name” />

       <label>Email
            <span class=”small”>Add a valid address</span>
       </label>
       <input type=”text” name=”email” id=”email” />

       <label>Password
            <span class=”small”>Min. size 6 chars</span>
       </label>
       <input type=”text” name=”password” id=”password” />

       <button type=”submit”>Sign-up</button>
       <div class=”spacer”></div>

    </form>
</div>

  通过上面的代码,你是否能看出它的视觉样式呢?下面是我们的CSS表单结构图示:

CSS-表单-教程

  我为每个input元素使用了<label>标签,并使用<span>标签包含简短的描述。所有的label和input元素都是用了CSS的float属性,值为left。

第二步:CSS代码

复制并粘贴以下代码到你页面中的<head>标签中的<style type=”taxt/css”></style>内。(也可以单独存储到CSS文件中)

body{
    font-family:”Lucida Grande”, “Lucida Sans Unicode”, Verdana, Arial, Helvetica, sans-serif;
    font-size:12px;
}

p, h1, form, button{border:0; margin:0; padding:0;}
.spacer{clear:both; height:1px;}
/* ———– My Form ———– */
.myform{
    margin:0 auto;
    width:400px;
    padding:14px;
}

/* ———– stylized ———– */
#stylized{
    border:solid 2px #b7ddf2;
    background:#ebf4fb;
}

#stylized h1 {
    font-size:14px;
    font-weight:bold;
    margin-bottom:8px;
}

#stylized p{
    font-size:11px;
    color:#666666;
    margin-bottom:20px;
    border-bottom:solid 1px #b7ddf2;
    padding-bottom:10px;
}

#stylized label{
    display:block;
    font-weight:bold;
    text-align:right;
    width:140px;
    float:left;
}

#stylized .small{
    color:#666666;
    display:block;
    font-size:11px;
    font-weight:normal;
    text-align:right;
    width:140px;
}

#stylized input{
    float:left;
    font-size:12px;
    padding:4px 2px;
    border:solid 1px #aacfe4;
    width:200px;
    margin:2px 0 20px 10px;
}

#stylized button{
    clear:both;
    margin-left:150px;
    width:125px;
    height:31px;
    background:#666666 url(img/button.png) no-repeat;
    text-align:center;
    line-height:31px;
    color:#FFFFFF;
    font-size:11px;
    font-weight:bold;
}

  以上仅仅是表单布局的一种方式,您也可以按照您的喜好来修改源代码并重新使用它。

  如果您对于CSS表单布局有其它不同的或更好的建议的话,欢迎在此留下您宝贵的评论.

下载源代码

via:woork

转载声明:
原载:彬Go
本文链接:http://blog.bingo929.com/clean-and-pure-css-form-design.html
如需转载必须以链接形式注明原载或原文地址,谢谢合作

29 Comments

发表评论

  • Micheal
    2015-12-21

    This does look prgsimino. I’ll keep coming back for more.

  • xiasharp
    2013-04-21

    前段时间无意中看到了您的一篇文章,感觉非常不错,现在经常来逛逛,看看以前的一些文章,觉得可以学到不少东西,辛苦了!
    这篇文章中,如果是有两列,或者三列呢,该怎么设计呢!求指点!谢谢了!

  • boyle
    2012-09-18

    抱歉,前面的看得懂,后面就看不懂了,而且没中文,呜呜

  • seotonsgeek
    2010-12-14

    Seotons c’est célèbre
    Super le seotons

    seotons

  • 十三
    2009-10-31

    关注你的网页很久了。今天在制作一个表单,看到你的文章发现表单确实不错。和我做的一个差不多。但是有个问题,就是你的最外层表单框为什么不用fieldset 标签包裹? 标题也可以不用h1 的。使用legend标签。css部分我就不改了。觉得表单这样规范一些。希望得到你的回复。共同进步

    Sign-up form
    This is the basic look of my form without table

    Name
    Add your name

    Email
    Add a valid address

    Password
    Min. size 6 chars

    Sign-up

  • hehe
    2009-08-26

    按照你的做法 怎么做不出你效果呢。。。
    你样式是不是有问题。

  • Supersky
    2009-08-14

    上box还得翻墙哎,不过还是下到了,很不错的样式!

  • jiangshan
    2009-08-11

    十分好,可惜不能下载,能否传份给我。十分感谢~!

  • 老学生
    2009-06-03

    非常的不错,如果有时间的话,老学生希望彬彬能出一个与众不同教程,人气肯定飞涨啊。

  • poecilia
    2009-05-13

    十分感谢您的分享,让我这个初窥门径的菜鸟看到了不一样的世界。