DIV + CSS 流式排版应用

  • 使用 block-level elements (块级元素)的float属性实现流式排版。
  • 文本标签label是inline elements (内联元素),使用display: block样式转换为块级元素(亦可用display: inline-block),使可设置宽度高度等。
  • 使用CSS 相邻兄弟选择器选择必填项的标签,因此将label放在其对应的输入控件后,使用float:left;使其浮动到输入控件左侧。
.div_control input[required]+label{
    color: #ffba02;
}
.div_control input[required]+label:before {
  content:'*';
  margin-right:5px;
}
  • 通过css给必填项的标签加*号标识,使用css:before添加伪元素。

html代码和css代码示例如下:

    <form id="form_main">
        <!-- 基础信息 -->
        <div id="div_baseInfo" class="div_control">
            <div>
                <input type="text" id="netName" name="netName" required>
                <label class="required" for="netName">新路网名称</label>
                <input type="hidden" id="id" name="id" value="${id}">
            </div>
            <div>
                <input type="text" id="roadCode" name="roadCode" required>
                <label for="roadCode">高速路编码</label>
            </div>
            <div>
                <input type="text" id="lastNewNetName" name="lastNewNetName" readonly>
                <label for="lastNewNetName">上一路网</label>
                <input type="hidden" id="lastNewNetId" name="lastNewNetId">
            </div>
            <div>
                <input type="text" id="startHubCode" name="startHubCode" readonly onclick="selHub('#div_startHub')" required>
                <label for="startHubCode">起始枢纽</label>
                <input type="checkbox" id="startHubIsNew" name="startHubIsNew" onclick="startHubIsNewChange(this)" /><span>新建</span>  
            </div>
            <div>
                <input type="text" id="endHubCode" name="endHubCode" readonly onclick="selHub('#div_endHub')">
                <label for="endHubCode">讫止枢纽</label>
                <input type="checkbox" id="endHubIsNew" name="endHubIsNew" onclick="endHubIsNewChange(this)" /><span>新建</span>
            </div>
            <div>
                <input type="number" step="0.00001" id="lastNewTollDistance" name="lastNewTollDistance" title="讫止枢纽与上一节点距离">        
                <label for="lastNewTollDistance" title="讫止枢纽与上一节点距离">与上一节点距离</label>
            </div>
            <div>
                <input type="text" id="enableDate" name="enableDate" required>      
                <label for="enableDate">启用年</label>
            </div>
            <div>
                <input type="text" id="statusName" name="statusName" disabled="disabled">
                <label for="statusName">状态</label>
            </div>
            <div>
                <input type="text" id="remark" name="remark">       
                <label for="remark">备注</label>      
            </div>      
        </div>
        <div style="clear: both;"></div>
        <!-- 起始枢纽 -->
        <fieldset>
        <legend>起始枢纽 </legend>
        <div id="div_startHub" style='display:none' class="div_control">
        <div>
            <input type="text" id="startHub_code" name="code" onchange="$('#startHubCode').val(this.value)" required>      
            <label for="startHub_code">编码</label>
        </div>              
        <div>
            <input type="text" id="startHub_name" name="name" required>     
            <label for="startHub_name">名称</label>
        </div>
        <div>
            <input type="number" step="0.000001" id="startHub_longitude" name="longitude" onclick="selMapPoint(this)" required>     
            <label for="startHub_longitude">经度</label>
        </div>
        <div>
            <input type="number" step="0.000001" id="startHub_latitude" name="latitude" required>       
            <label for="startHub_latitude">纬度</label>
        </div>
        <div>
            <input type="text" id="startHub_devisionName" name="devisionName">      
            <label for="startHub_devisionName">行政区划</label>
        </div>
        <div>
            <input type="text" id="startHub_cityName" name="cityName" disabled="disabled">      
            <label for="startHub_cityName"></label>
            <input type="hidden" id="startHub_cityCode" name="cityCode">
        </div>
        <div>
            <input type="text" id="startHub_countyName" name="countyName" readonly onclick="selCounty(this)" required>
            <label for="startHub_countyName">区/县</label>            
            <input type="hidden" id="startHub_countyCode" name="countyCode">
            <input type="hidden" id="startHub_areaCode" name="areaCode"><!-- 市辖区与县市编码 -->
        </div>
        <div>
            <input type="text" id="startHub_adjoin1Code" name="adjoin1Code" readonly onclick="selNode(this,'#div_startHub')">       
            <label for="startHub_adjoin1Code">相邻节点1编码</label>
        </div>
        <div>
            <input type="number" step="0.00001" id="startHub_adjoin1Distance" name="adjoin1Distance">       
            <label for="startHub_adjoin1Distance">相邻节点1距离</label>
        </div>
        <div>
            <input type="text" id="startHub_adjoin2Code" name="adjoin2Code" readonly onclick="selNode(this,'#div_startHub')">       
            <label for="startHub_adjoin2Code">相邻节点2编码</label>
        </div>
        <div>
            <input type="number" step="0.00001" id="startHub_adjoin2Distance" name="adjoin2Distance">       
            <label for="startHub_adjoin2Distance">相邻节点2距离</label>
        </div>
        </div>
        </fieldset>
        <div style="clear: both;"></div>
        <!-- 讫止枢纽 -->
        <fieldset>
        <legend>讫止枢纽 </legend>
        <div id="div_endHub" style='display:none' class="div_control">
        <div>
            <input type="text" id="endHub_code" name="code" onchange="$('#endHubCode').val(this.value)" required>      
            <label for="endHub_code">编码</label>
        </div>              
        <div>
            <input type="text" id="endHub_name" name="name" required>       
            <label for="endHub_name">名称</label>
        </div>
        <div>
            <input type="number" step="0.000001" id="endHub_longitude" name="longitude" onclick="selMapPoint(this)" required>       
            <label for="endHub_longitude">经度</label>
        </div>
        <div>
            <input type="number" step="0.000001" id="endHub_latitude" name="latitude" required>     
            <label for="endHub_latitude">纬度</label>
        </div>
        <div>
            <input type="text" id="endHub_devisionName" name="devisionName">        
            <label for="endHub_devisionName">行政区划</label>
        </div>
        <div>
            <input type="text" id="endHub_cityName" name="cityName" disabled="disabled">        
            <label for="endHub_cityName"></label>
            <input type="hidden" id="endHub_cityCode" name="cityCode">
        </div>
        <div>
            <input type="text" id="endHub_countyName" name="countyName" readonly onclick="selCounty(this)" required>
            <label for="endHub_countyName">区/县</label>          
            <input type="hidden" id="endHub_countyCode" name="countyCode">
            <input type="hidden" id="endHub_areaCode" name="areaCode"><!-- 市辖区与县市编码 -->
        </div>
        <div>
            <input type="text" id="endHub_adjoin1Code" name="adjoin1Code" readonly onclick="selNode(this,'#div_endHub')">       
            <label for="endHub_adjoin1Code">相邻节点1编码</label>
        </div>
        <div>
            <input type="number" step="0.00001" id="endHub_adjoin1Distance" name="adjoin1Distance">     
            <label for="endHub_adjoin1Distance">相邻节点1距离</label>
        </div>
        <div>
            <input type="text" id="endHub_adjoin2Code" name="adjoin2Code" readonly onclick="selNode(this,'#div_endHub')">       
            <label for="endHub_adjoin2Code">相邻节点2编码</label>
        </div>
        <div>
            <input type="number" step="0.00001" id="endHub_adjoin2Distance" name="adjoin2Distance">     
            <label for="endHub_adjoin2Distance">相邻节点2距离</label>
        </div>
        </div>
        </fieldset>
      <div style="clear: both;"></div>                  
         <!-- 收费站明细表 -->
         <div id="div_tollDetails">
           <div class="c-title">收费站明细</div>
           <div>
             <table>
               <thead>
                 <tr style="font-size:14px;background-color:#32D5DA;">
                   <th>序号</th>
                   <th>编码</th>
                   <th>名称</th>
                   <th>经度</th>
                   <th>纬度</th>
                   <th>行政区划</th>
                   <th></th>
                   <th>区/县</th>
                   <th>上一节点距离</th>
                   <th>操作</th></tr>
               </thead>
               <tbody id="tb_tollDetails">
                 <tr>
                   <td>
                     <input type="number" name="no" disabled="disabled" style="width: 35px;" /></td>
                   <td>
                     <input type="text" name="code" style="width: 85px;" /></td>
                   <td>
                     <input type="text" name="name" /></td>
                   <td>
                     <input type="number" step="0.000001" name="longitude" onclick="selMapPoint(this,true)" /></td>
                   <td>
                     <input type="number" step="0.000001" name="latitude" /></td>
                   <td>
                     <input type="text" name="devisionName" />
                     <input type="hidden" name="devisionCode" /></td>
                   <td>
                     <input type="text" name="cityName" disabled="disabled" />
                     <input type="hidden" name="cityCode" /></td>
                   <td>
                     <input type="text" name="countyName" readonly onclick="selCounty(this)" />
                     <input type="hidden" name="countyCode" />
                     <input type="hidden" name="areaCode"></td>
                   <td>
                     <input type="number" step="0.00001" name="lastNodeDistance" />
                     <input type="hidden" name="lastNodeCode" /></td>
                   <td style="width: 115px; text-align:center">
                     <button type="button" onclick="addRow(this,'tb_tollDetails');resetSort('tb_tollDetails');">+</button>
                     <button type="button" onclick="delRow(this);resetSort('tb_tollDetails');">-</button>
                     <button type="button" onclick="upDown(this,true);"></button>
                     <button type="button" onclick='upDown(this,false);'></button></td>
                 </tr>
               </tbody>
             </table>
           </div>
         </div>
    </form>
.data-content .top-right{
    height:auto;
    overflow-y:auto;
}

.top-right .p{
    margin: 0 15px;
    height:48px;
    line-height:48px;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
    overflow:hidden;
}
.top-right .p strong{
    float:left;
    font-weight:normal;
}
.top-right .p .btn{
    float:right;
}
.top-right .p .btn input{
    margin-left:15px;
    height: 30px;
    line-height: 30px;
    border:1px #53AAAD solid;
}
.top-right .p .btn input:disabled{
    color:#595c5e;
    border:1px #1a3a3b solid;
    height:32px;
    background-color:#000;
}

#form_main{
    padding: 0 15px;
}

.div_control{
    float: none;
    padding-top: 24px;
}
.div_control div{
    float: left;
    width: 360px;
    height: 35px;
}
.div_control span{
    color:#53abaf;
}
.div_control label{
    padding-right:6px;
    width: 110px;
    float:left;
    text-align: right;
    display: block; 
}
#div_baseInfo label{
    width:121px;
}

.div_control input[required]+label{
    color: #ffba02;
}
.div_control input[required]+label:before {
  content:'*';
  margin-right:5px;
}

.div_control input:not([type="checkbox"]){
    width: 160px;
    height:24px;
    line-height:24px;
    border-radius:3px;
}

.div_control input[type="checkbox"]{
    vertical-align:middle;
}

fieldset{
    margin:25px 0px 25px 0px;
    padding-bottom:10px;
    border-radius:10px;
    border:1px #7d7d7d solid;
    position:relative;
}

legend{
    width:92px;
    height:18px;
    position:absolute;
    left:14px;
    background:url(../../../images/title.png);
    top:-10px;
    padding-left:15px;
    font-size:12px;
    color:#fff;
    cursor:pointer;
}

legend.title-on{
    background:url(../../../images/title2.png);
}

#div_tollDetails table{
    padding-top:15px;
    width:100%;
}
#div_tollDetails table input{
    width:100%;
}

#div_tollDetails{
    margin-top:20px;
    padding-top:10px;
}
#div_tollDetails .c-title{
    text-align:center;
    color:#fff;
    font-size:14px;
    background:url(../../../images/tableLine.png) no-repeat center center;
    float:none;
}
#div_tollDetails td,#div_tollDetails input{
    height:24px;
    line-height:24px;
}
#div_tollDetails td{
    background-color: fff;
}
#div_tollDetails button{
    width:20px;
    height:20px;
    border:1px #b98300 solid;
    border-radius:3px;
    background-color:#ffb400;
}
#div_tollDetails th{
    color:#fff;
}
XHTML 40个例子显示的内容一样,通过CSS实现不一样的布局效果, 是学习div + css排版的绝佳教程.body标签内的内容如下: Header 1) Content here. column long long column very long fill fill fill long text text column text silly very make long very fill silly make make long make text fill very long text column silly silly very column long very column filler fill long make filler long silly very long silly silly silly long filler make column filler make silly long long fill very. very make make fill silly long long filler column long make silly silly column filler fill fill very filler text fill filler column make fill make text very make make very fill fill long make very filler column very long very filler silly very make filler silly make make column column fill long make long text very make long fill column make text very silly column filler silly text fill text filler filler filler make make make make text filler fill column filler make silly make text text fill make very filler column very column text long column make silly long text filler silly very very very long filler fill very fill silly very make make filler text filler text make silly text text long fill fill make text fill long text very silly long long filler filler fill silly long make column make silly long column long make very 2) Navigation here. long long fill filler very fill column column silly filler very filler fill fill filler text fill very silly fill text filler silly silly filler fill very make fill column text column very very column fill fill very silly column silly silly fill fill long filler 3) More stuff here. very text make long silly make text very very text make long filler very make column make silly column fill silly column long make silly filler column filler silly long long column fill silly column very Here it goes the footer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值