16 June 2008

Clean CSS for Form design

ตอนแรก ว่าจะไปนอนแล้วเชียว หุหุ แต่ก็นะ ขอเขียน blog สักหน่อย
ที่จริงต้องอัพเดทบ่อย ๆ นะเนี่ย -.-" เราเล่น ๆ นานมาที
เข้าเรื่องกันเลยดีกว่า เดี๋ยวจะได้ไปนอนแหล่ะ

หลาย ๆ คนก็พอจะรู้ว่า ยิ่งเขียน code ให้ clean
เท่าไร ก็จะยิ่งดีสำหรับเว็บของคุณเองมากเท่านั้น
ดังนั้น วันนี้เราจะมาคุยกันถึงเรื่อง Form ที่หลาย ๆ คน
ชอบใช้ Table ในการสร้าง Form อังรับประกันได้เลย
คนส่วนใหญ่ใช้ Table กันทั้งนั้น เพราะอังก็ใช้ haha
มันเป็นวิธีที่ง่ายและเร็วไง (พูดง่าย ๆ ขี้เกียจคิดมากไง)
แต่จริง ๆ แล้ว Table ไม่ได้ทำให้คุณสร้าง Form เร็วขึ้นเลย
อาจจะเร็วแค่ช่วงแรก แต่เมื่อคุณมี code เยอะขึ้น ๆ อยู่เรื่อย ๆ
คุณจะเริ่มงงกับ Table ที่ได้สร้างขึ้นมา ดังนั้นการที่เราสร้าง
code ขึ้นมาสักตัว เราต้องนึกถึงการ manage และ
การ maintain ในอนาคตต่อไปด้วย

อ่ะ ๆ ๆ หลาย ๆ คนคิดว่าคงยาก..แต่ไม่ยากอย่างที่คิดนะ
มาดูตัวอย่างที่กันเลยดีกว่า ก่อนอื่นเราต้องมาดู Form ที่
Design มาเสร็จเรียบร้อยแล้ว ขอแนะนำอีกหน่อย
ก่อนที่จะลงมือ เราควรจะต้องเขียน structure
ของ CSS ดูก่อน




Step 1: HTML Code
สร้างเพจขึ้นมาใหม่แล้ว copy tag ด้านล่างนี้ไปใส่


<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>



Step 2: CSS Code
ลอง copy code 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;
}



นี้เป็นแค่ proposal layout ของ Form เฉย ๆ เท่านั้น ถ้าใครอยากจะเอา
ไปแก้ไข ดัดแปรง ให้ใช้กับงานคุณก็ยิ่งจะดีนะค่ะ และเอามาสอนอังด้วยนะ haha