Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Client Script Forum > กำหนดสไตล์ให้กับ input checkbox & radio



 

กำหนดสไตล์ให้กับ input checkbox & radio

 



Topic : 136157



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์




https://rundiz.com/?p=724

ss
รูปตัวอย่างแสดงการเปรียบเทียบระหว่างรูปแบบเดิมที่มากับเบราว์เซอร์ Firefox, Google Chrome และรูปแบบที่กำหนดเอง.

โค้ด
Code
/* CSS custom checkbox & radio control was copied from Bootstrap 5. */ input[type="checkbox"], input[type="radio"] { appearance: none; background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: contain; border: 1px solid #ccc; height: 1em; width: 1em; } input[type="radio"] { border-radius: 50%; } /* checkbox & radio icon using base 64. base 64 tool: https://www.base64encode.org/ icons tool: https://www.iconfinder.com */ input[type="checkbox"]:checked { background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgoKIDxnPgogIDx0aXRsZT5iYWNrZ3JvdW5kPC90aXRsZT4KICA8cmVjdCBmaWxsPSJub25lIiBpZD0iY2FudmFzX2JhY2tncm91bmQiIGhlaWdodD0iNDAyIiB3aWR0aD0iNTgyIiB5PSItMSIgeD0iLTEiLz4KIDwvZz4KIDxnPgogIDx0aXRsZT5MYXllciAxPC90aXRsZT4KICA8cGF0aCBmaWxsPSIjMDA1ZmJmIiBpZD0ic3ZnXzEiIGQ9Im00NDgsNzEuOTAwMDAyYy0xNy4yOTk5ODgsLTEzLjQwMDAwMiAtNDEuNSwtOS4zMDAwMDMgLTU0LjEwMDAwNiw5LjA5OTk5OGwtMTc5Ljg5OTk5NCwyNjMuMjAwMDEybC05OS4wOTk5OTgsLTEwNy4zMDAwMDNjLTE0LjU5OTk5OCwtMTYuNjAwMDA2IC0zOS4wOTk5OTgsLTE3LjM5OTk5NCAtNTQuNzAwMDAxLC0xLjgwMDAwM2MtMTUuNjAwMDAyLDE1LjUgLTE2LjQwMDAwMiw0MS42MDAwMDYgLTEuNzAwMDAxLDU4LjEwMDAwNmMwLDAgMTIwLjM5OTk5NCwxMzMuNjAwMDA2IDEzNy42OTk5OTcsMTQ3YzE3LjMwMDAwMywxMy4zOTk5OTQgNDEuNSw5LjI5OTk4OCA1NC4xMDAwMDYsLTkuMTAwMDA2bDIwNi4zMDAwMDMsLTMwMS43MDAwMTJjMTIuNjAwMDA2LC0xOC40OTk5OTIgOC42OTk5ODIsLTQ0LjE5OTk5NyAtOC42MDAwMDYsLTU3LjQ5OTk5MnoiLz4KIDwvZz4KPC9zdmc+"); } input[type="radio"]:checked { background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CgogPGc+CiAgPHRpdGxlPmJhY2tncm91bmQ8L3RpdGxlPgogIDxyZWN0IGZpbGw9Im5vbmUiIGlkPSJjYW52YXNfYmFja2dyb3VuZCIgaGVpZ2h0PSI0MDIiIHdpZHRoPSI1ODIiIHk9Ii0xIiB4PSItMSIvPgogPC9nPgogPGc+CiAgPHRpdGxlPkxheWVyIDE8L3RpdGxlPgogIDxlbGxpcHNlIHJ5PSIxNy4yMTkwMzgiIHJ4PSIxNy4yMTkwMzgiIGlkPSJzdmdfMyIgY3k9IjI0Ljk5OTk5OSIgY3g9IjI1LjAwMDAwMyIgc3Ryb2tlLXdpZHRoPSIxMiIgc3Ryb2tlPSIjMDA1ZmJmIiBmaWxsPSJub25lIi8+CiA8L2c+Cjwvc3ZnPg=="); } input[type="checkbox"]:checked[disabled], input[type="radio"]:checked[disabled] { opacity: .5; }

เริ่มต้นจากการกำหนดค่าพื้นฐานที่เหมือนกันให้กับทั้ง 2 input คือให้การแสดงผลเป็นไม่มี (appearance: none;) จากนั้นจึงกำหนดสีพื้นหลัง, ตำแหน่งพื้นหลัง, การซ้ำ, ขนาดพื้นหลัง, ขอบ, ความสูงและกว้าง.

ต่อมาก็กำหนดรัศมีความโค้งของ input radio ที่ 50% ทั้ง 4 ด้านซึ่งจะออกมาเป็นวงกลมพอดีๆ.

ส่วนของ input checkbox ที่ติ๊กแล้วก็ใช้รูปเป็นพื้นหลังที่เราเลือกเอง โดยอาจจะค้นหารูปไอคอนที่ต้องการใช้ได้จากเว็บใดๆก็ได้ตามการอนุญาตที่เขากำหนดไว้ให้ เช่น https://www.iconfinder.com แล้วนำเอาโค้ดที่เป็น base64 มาใส่ใน url("...");. ทั้งนี้จะใช้รูป png ก็ได้ จะเป็น base64 หรือไฟล์ภาพก็ได้เช่นกันตามมาตรฐาน CSS background-image.

ส่วนของ input radio ที่ติ๊กเลือกแล้ว ก็ทำเช่นเดียวกันกับ checkbox ตามที่ได้อธิบายไปแล้ว.

และสุดท้ายอย่าลืมกำหนดสไตล์ให้กับ element ที่ปิดใช้งาน (disabled).

หากจะดูรวมๆก็จะสามารถเข้าไปดูตัวอย่างโค้ดและการแสดงผลได้ที่ https://codepen.io/ve3/pen/OJpQdwV



Tag : HTML, CSS, HTML5







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-06-03 12:32:16 By : mr.v View : 720 Reply : 1
 

 

No. 1



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


คุณวินนี่ปล่อยปละละเลยเว็บจังเลย

รูปก็ไม่ responsive แต่ดันเป็น respon สิ
ทั้งที่ผมเคยแจ้งไปนานแล้วน้าาา

แล้วก็โค้ดอื่นๆไม่มีการ wrap ตัวอักษรเยอะๆยาวๆเลย

นินทาซึ่งๆหน้า








ประวัติการแก้ไข
2021-06-03 12:34:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-03 12:34:24 By : mr.v
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : กำหนดสไตล์ให้กับ input checkbox & radio
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่