今天來說說對input輸入框在處理上的細節處理和心得,其實製作一個符合CSS標準、FF/IE7/IE6等主流瀏覽器全兼容、符合用戶體驗的input其實並不難。先點擊看看下面的效果先!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>表单效果</title> <style type="text/css"> *{ margin:0; padding:0; } body{ font-size:63%; color:#000; } /*input*/ .input_on{ padding:2px 8px 0pt 3px; height:18px; border:1px solid #999; background-color:#FFFFCC; } .input_off{ padding:2px 8px 0pt 3px; height:18px; border:1px solid #CCC; background-color:#FFF; } .input_move{ padding:2px 8px 0pt 3px; height:18px; border:1px solid #999; background-color:#FFFFCC; } .input_out{ /*height:16px;默认高度*/ padding:2px 8px 0pt 3px; height:18px; border:1px solid #CCC; background-color:#FFF; } /*form*/ ul.input_test{ margin:20px auto 0 auto; width:500px; list-style-type:none; } ul.input_test li{ width:500px; height:22px; margin-bottom:10px; } .input_test label{ float:left; padding-right:10px; width:100px; line-height:22px; text-align:right; font-size:1.4em; } .input_test p{ float:left; _margin-top:-1px; } .input_test span{ float:left; padding-left:10px; line-height:22px; text-align:left; font-size:1.2em; color:#999; } </style> </head> <body> <ul class="input_test"> <li> <label for="inp_name">姓名:</label> <p><input id="inp_name" class="input_out" name="" type="text" onfocus="this.className='input_on';this.onmouseout=''" onblur="this.className='input_off';this.onmouseout=function(){this.className='input_out'};" onmousemove="this.className='input_move'" onmouseout="this.className='input_out'" /></p> <span>请输入您的姓名</span> </li> <li> <label for="inp_email">Email:</label> <p><input id="inp_email" class="input_out" name="" type="text" onfocus="this.className='input_on';this.onmouseout=''" onblur="this.className='input_off';this.onmouseout=function(){this.className='input_out'};" onmousemove="this.className='input_move'" onmouseout="this.className='input_out'" /></p> <span>请输入您的Email</span> </li> <li> <label for="inp_web">网站:</label> <p><input id="inp_web" class="input_out" name="" type="text" onfocus="this.className='input_on';this.onmouseout=''" onblur="this.className='input_off';this.onmouseout=function(){this.className='input_out'};" onmousemove="this.className='input_move'" onmouseout="this.className='input_out'" /></p> <span>请输入您的网站</span> </li> </ul> </body> </html>
滑鼠經過input時的顏色會發生變化,此外當點擊標題處(2e1cf0710519d5598b1f0f14c36ba674的作用)或輸入框時,遊標停留所在的input的顏色也和其他input輸入框有所不同,這是d5fd7aea971a85678ba271703566ebfd中JS的作用。在使用者體驗上告訴的使用者什麼是可以輸入以及目前在什麼輸入位置。另外透過鍵盤上Tab鍵的切換,輸入完當前內容移動到下一個輸入框變得更方便了,這是CSS合理佈局結構的作用。
整體的結構透過ff6d136ddc5fdfeffaf53ff6ee95f185和25edfb22a4f469ecb59f1190150159c6來組織,每個25edfb22a4f469ecb59f1190150159c6顯示一行內容。 2e1cf0710519d5598b1f0f14c36ba674標籤顯示標題,e388a4556c0f65e1904146cc1a846beeinput控制輸入框,45a2772a6b6107b401db3c9b82c049c2顯示備註資訊。這裡要特別說d5fd7aea971a85678ba271703566ebfd在各個瀏覽器下不同的表現,對d5fd7aea971a85678ba271703566ebfd設定line-height對FF是不起作用的,所以建議用padding來控製文字在輸入框的位置。 d5fd7aea971a85678ba271703566ebfd瀏覽器下的預設高度和字型一樣是16px,加上下邊框就是18px。特別是在需要將d5fd7aea971a85678ba271703566ebfd變大的情況下,用padding來控制比較好。
再來談談JS部分,這裡用到onblur(遊標離開)、onfocus(遊標停留)、onmousemove(滑鼠停留)、onmouseout(滑鼠離開)這4個屬性來控制滑鼠的動作。不會JS也沒關係,只要定義其對應的CSS樣式就可以了。
以上是網站中比較不錯的表單特效實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!