设计表单

<!DOCTYPE html>
<html>
<head>
    <title>设计表单</title>
    <meta charset="utf-8" />
<style type="text/css">
form.stylin_form1 {width:14em; /* 表单整体宽度 */margin:20px auto; /* 在容器内居中 */border:1px solid #bbb7ae;padding:.5em .5em .15em;}
.stylin_form1 h3 { /* 表单主标题 */margin:0;padding:0 0 .2em .2em;font-weight:600;color:#bbb7ae;}
.stylin_form1 fieldset { /*包含控件与标注*/margin:0;padding:0 0 .2em 0;width:100%;border:0;}
.stylin_form1 legend {width:100%;padding:.3em 0;background:#bbb7ae; /*灰色条*/}
.stylin_form1 legend span { /* 设定标题文本的样式 */display:block;font-size:1em;line-height:1.1em;padding: 0 0 0 .4em;font-weight:700;color:#fff; /*灰色条上的反白文本*/}
.stylin_form1 section {overflow:hidden; /* 强制 section 包含表单控件及标注 */padding:.2em 0 .4em 0;border-bottom:8px solid #e7e5df; /* 根据需要在每个 section 间增加间距 */}
.stylin_form1 section:last-child { /* 每组最后一个 section 没有边框 */border-bottom:0px;}
.stylin_form1 section label, /* 表单控件的标注 */.stylin_form1 section h4 { /* h4 是复选框和单选按钮组的标题 */display:block;clear:both;
margin:.3em .3em 0 0; /* 右外边距确保标注文本在碰到 input 之前会换行 */padding-bottom:.1em;font-size:.8em;font-family:'Droid Sans';
font-weight:400;line-height:1.1;}
.stylin_form1 section label span, /* 星号表示必填字段 */.stylin_form1 section h4 span {font-size:.75em;vertical-align:text-top;color:#f00;}
.stylin_form1 section p.note { /*说明星号是必填字段的文本*/font-size:.7em;color:#f00;margin:0;padding:0 0 .3em 0;}
.stylin_form1 section input,.stylin_form1 section textarea,.stylin_form1 section select {margin:.2em .5em .2em 0;padding:.2em .4em; /* 给 input 中的文本添加间距 */color:#000;box-shadow:1px 1px 3px #ccc;font-size:.8em;/* 针对 Firefox - 没有这条声明会在 textarea 上使用 Courier */font-family:inherit;outline:none; /* 去掉默认蓝色聚焦轮廓线 */}
/* 设定文本字段(文本、密码、日期、文本区等)的样式,并加圆角 */
.stylin_form1 section input,.stylin_form1 section textarea {width:12em; /*设定字段宽度*/border:1px solid #bbb7ae;border-radius:3px; /*圆角边框*/}
.stylin_form1 section textarea {height:5em; /* textarea 的高度 */margin-top:.3em; /* 与上面 label 的间距 */line-height:1.1;}
.stylin_form1 section p { /*控件使用说明*/margin:.3em .75em 0;clear:both;font-size:.7em;line-height:1.1;color:#000;}
.stylin_form1 section p.error {color:#f00; /* 添加 error 类,把说明文字设定为红色 */}
.stylin_form1 section section { /* 控件/标注的内包装 */overflow:hidden; /* 强制元素包围浮动标注 */margin:.2em 0 .3em .4em;padding:0 0 .1em 0;border-bottom:none;}
.stylin_form1 section section input { /*单选按钮或复选框*/float:left;clear:both;width:auto; /* 重设继承的宽度 */margin:.1em 0 0em .3em; /* 顶部与标注对齐,左侧防止 intput 溢出 */}
.stylin_form1 section section label {float:left;clear:none; /* 重设继承的值 */width:15em;margin:.15em 0 0 .6em; /* 在相邻的复选框之间、复选框与标注之间增加间距 */font-weight:normal; /* 重设继承的值 */font-size:.7em;line-height:1.2;}
.stylin_form1 section select {margin-left:.4em;font-size:.85em;}
.stylin_form1 section input[type="submit"] { /*提交按钮*/width:auto; /* 覆盖为其他字段设定的宽度 */margin:.4em .3em 0 0;font-size:1em;
font-weight:800;color:#fff;background-color:#bbb7ae;cursor:pointer; /*在鼠标位于按钮之上时,把光标变成小手形状*/}
.stylin_form1 > section:last-child { /*居中提交按钮*/text-align:center;}

form.stylin_form1.labels_left {width:22em; /*加宽表单,为标注腾出地方*/}
form.stylin_form1.labels_left label,form.stylin_form1.labels_left h4 {float:left; /*把标注浮动到控件左侧*/width:8em;}
form.stylin_form1.labels_left p {margin:0 0 0 9.35em; /*缩进控件说明,以便它位于控件正下方*/padding:.3em 0 0 0;clear:both;
 /*确保说明不会跟着浮动的标注和控件走*/}
form.stylin_form1.labels_left p.note { /*必填字段文本下方的间距*/margin:0 0 .2em 0;}
/*每个单选按钮或复选框及其标注的内包装*/
form.stylin_form1.labels_left section section {width:10em;margin-left:6.5em;padding-top:0;}
form.stylin_form1.labels_left section section input {width:1.25em; /*单选按钮或复选框的宽度*/margin-left:0;}
.stylin_form1.labels_left section input,.stylin_form1.labels_left section textarea,.stylin_form1.labels_left section select {
float:left; /*让控件成为第二栏*/width:12em;}
.stylin_form1.labels_left section select { /*缩进选项列表*/margin-left:.2em;}
/*防止提交表单按钮继承浮动的行为*/
.stylin_form1.labels_left > section input[type=submit] {float:none;}
</style>
</head>

<body>
    <form class="stylin_form1 labels_left" action="process_form.php" method="post">
        <h3>A Stylin' Form</h3>
        <!-- 控件组,即各种控件的容器 -->
        <fieldset>
        <!-- 控件组的文字说明,或标题 -->
            <legend><span>Part 1 &#8226; Basic Controls</span></legend>
        <!-- 开始单行文本输入控件 -->
            <section>
                <p class="note">* indicates required field</p>
                <!-- for 属性把标注与控件关联起来,它的值必须与控件 ID 值相同 -->
                <label for="user_name">User Name<span> *</span></label>
                <!-- text 属性让这个控件可以输入文本 -->
                <input type="text" id="user_name" name="user_name" />
                <p>Please select a user name</p>
            </section>
            <!-- 开始密码控件 -->
            <section>
                <label for="password">Password<span> *</span></label>
                <!-- 密码文本显示为掩码 -->
                <input type="password" id="password" name="password" maxlength="20" />
                <p>Password must be 8 or more characters</p>
            </section>
            <!-- 开始多行文本输入控件 -->
            <section>
                <label for="description">Description</label>
                <textarea id="description" name="description"
                placeholder="Enter the description here."></textarea>
            </section>
            <!-- 开始 HTML5 日期控件 -->
            <section>
                <label for="description">Date</label>
                <input type="date" id="special_date" name="event_date" min="2012-09-05" />
            </section>
        </fieldset>
        <fieldset>
            <legend><span>Part 2 &#8226; Multiple-Choice Controls</span></legend>
            <!-- 开始复选框 -->
            <section>
                <h4>Select Any Number</h4>
                <section>
                    <input type="checkbox" id="check1" name="checkset" value="1"tabindex="4" />
                    <label for="check1">Choice 1</label>
                </section>
                <section>
                    <input type="checkbox" checked="checked" id="check2" name="checkset" value="2" />
                    <label for="check2">Choice 2 is pre-checked</label>
                </section>
                <section>
                    <input type="checkbox" id="check3" name="checkset" value="3" />
                    <label for="check3">Choice 3&mdash;add as many as you need!</label>
                </section>
                <p>You must choose one or more</p>
            </section>
            <!-- 开始单选按钮 -->
            <section>
            <h4>Select Only One</h4>
            <section>
            <input checked="checked" id="radio1" name="radioset" type="radio"
            value="Choice_1" />
            <label for="radio1">Choice 1 is pre-selected and shows the text
            wraps nicely if it goes to multiple lines.</label>
            </section>
            <section>
            <input id="radio2" name="radioset" type="radio" value="Choice_2" />
            <label for="radio2">Choice 2</label>
            </section>
            <section>
            <input id="radio3" name="radioset" type="radio" value="Choice_3" />
            <label for="radio3">Choice 3</label>
            </section>
            </section>
            <!-- 开始选项列表(下拉列表) -->
            <section>
            <label for="select_choice">Select Your Choice</label>
            <select id="select_choice" name="select_choice">
            <option value="0">None</option>
            <option value="1">Choice 1</option>
            <option value="2">Choice 2</option>
            <option value="3">Choice 3</option>
            <option value="4">Choice 4</option>
            </select>
            </section>
        </fieldset>
        <!-- 开始提交按钮 -->
        <section>
        <input type="submit" value="Submit This Form" />
        </section>
</form>
</body>
</html>
原文地址:https://www.cnblogs.com/dxzg/p/6530314.html