Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 27/04/24 in all areas

  1. بسم الله الرحمن الرحيم ... السلام عليكم ورحمة الله وبركاته بعد رحلة طويلة مع لغة Lua بدأت التعلم في لغات البرمجة والتصميم الخاصة بالويب وحبيت اشاركم تجربتي HELLO WORLD After along journey learning Lua, I've started learning web design and web development And I would like to share my experience with you hoping that you like it معروف إن في لغة HTML لا يوجد (radiobutton/checkbox) مباشر وإنما الحل انك تعمل input وتغير نوعه we know that HTML doesn't have a direct *checkbox/radio* tags but the method is to create an input and change its type <!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <input type="checkbox" value="Click 1" > <input type="checkbox" value="Click 2" > <input type="checkbox" value="Click 3" > <input type="radio" name="g" value="Click 4" > <input type="radio" name="g" value="Click 5" > <input type="radio" name="g" value="Click 6" > </body> </html> ودي الطريقة اللي هتكمل بيها باقي الشرح and that is what we going to use with HTML طيب ده موضوعه سهل،، أما بالنسبة لتعديل التصميم أو الهيكل شئ مش سهل بالمرة أو مزعج نوعا ما لأن مفيش تاج معين مثلا تقدر تعدل بيه ولكن بفضل الله قدرت اعمل تاجات جديدة في ok, that was an easy part.. but the problem is in designing as it doesn't have a direct tags to be edited But, I've created a new tags/attr to make the design easier CSS ( checkbox, radio, bg, check ) checkbox { /* css code */ } checkbox bg { /* css code */ } checkbox bg check { /* css code */ } checkbox[checked=true] bg { /* css code */ } checkbox[checked=true] bg check { /* css code */ } radio { /* css code */ } radio bg { /* css code */ } radio bg check { /* css code */ } radio[checked=true] bg { /* css code */ } radio[checked=true] bg check { /* css code */ } التفاصيل radio: الهيكل العام للعنصر و يحتوي على الشكل الداخلي كله radio: the hole element checkbox: الهيكل العام للعنصر و يحتوي على الشكل الداخلي كله checkbox: the hole element bg: الخلفية الخاصة بالشكل الداخلي bg: the background of the checkbox/radio itself check: الأيقونة اللي داخل الخلفية الخاصة بالشكل الداخلي check: the icon inside the bg طيب بالنسبة اكون الجافا سكربت javascript // created by Ahmed Mostafa "killerProject" alert ("the best code i have ever made\n\nBETA\n\nCreated By: Ahmed Mostafa 'killerProject'") msg = function (zmsg) {console.log(zmsg)} function changeInput (_input) { if ( _input.getAttribute("modified") ) { return } if ( true ) { /* ignored */ var op = _input.parentElement; var np = document.createElement( _input.type /*"label"*/ ); op.replaceChild (np, _input); np.appendChild(_input); np.appendChild ( document.createTextNode( _input.value ) ); np.style.display = "inline-block"; np.style.overflow = "auto"; np.setAttribute( "child", _input ); np.setAttribute( "modified", true); np.setAttribute( "checked", _input.checked); _input.setAttribute( "modified", true); /* var w = _input.offsetWidth; var h = _input.offsetHeight; np.style.width = w+"px"; np.style.height = h+"px"; */ np.style.position = "relative"; var pw = np.offsetWidth; var ph = np.offsetHeight; var bg = document.createElement( "bg" ); bg.appendChild ( document.createTextNode( "" ) ); np.appendChild( bg ); var check = document.createElement( "check" ); check.appendChild ( document.createTextNode( "" ) ); bg.appendChild( check ); bg.style.position = "position: absolute; z-index: 2;"; check.style.position = "position: absolute; z-index: 3;"; _input.style = "position: absolute; left: 0; top: 0; padding: 0; margin: 0; width: "+pw+"px; height: "+ph+"px; -webkit-appearance: none; moz-appearance: none; appearance: none; outline: none; background: red; opacity: 0; z-index: 5;"; np.setAttribute( "class", _input.getAttribute("class") ); np.setAttribute( "id", _input.getAttribute("id") ); } } /* onchange = function () { changeInput (event.target) } */ function check_create () { var nInput = event.target; changeInput (nInput); var parent = nInput.parentElement; parent.setAttribute( "checked", nInput.checked); var all = document.getElementsByTagName ("input"); for ( let i = 0; i < all.length; i++ ) { if ( all[i].type == "radio" ) { let parent = all[i].parentElement; parent.setAttribute( "checked", all[i].checked); } } } onload = function () { var all = document.getElementsByTagName ("input"); for ( let i = 0; i < all.length; i++ ) { changeInput (all[i]) all[i].addEventListener("change", check_create); } } المميزات - advantages متاح فيه التعديل عن طريق الآي دي أو الكلاس Id, class (edit by id or class) سهولة التصميم بشكل كبير جدا (too easy to edit) تبسيط الاكواد في HTML, CSS (makes html, css *radio/checkbox* more easier to be edited) مثال على التعديل على ال CSS example (css) radio { padding-top: 5px; padding-left: 35px; width: 250px; height: 25px; background: #ccc5; border-radius: 45px; /*box-shadow: inset 0 0 0 1px #4a148c;*/ } checkbox { padding-top: 5px; width: 250px; height: 25px; padding-left: 55px; background: #ccc5; border-radius: 45px; /*box-shadow: inset 0 0 0 1px #4a148c;*/ } radio bg { transition: .5s; box-shadow: inset 0 0 0 2px #4a148c; position: absolute ; top: 2.5px; left: 2.5px; background: #fff0; width: 25px; height: 25px; border-radius: 50%; } radio check { transition: .5s; position: absolute ; top: 5px; left: 5px; background: #fff0; width: 15px; height: 15px; border-radius: 50%; box-shadow: inset 0 0 0 1px #4a148c; } checkbox bg { transition: .5s; box-shadow: inset 0 0 0 2px #4a148c; position: absolute ; top: 2.5px; left: 2.5px; background: #fff0; width: 50px; height: 25px; border-radius: 45px; } checkbox check { transition: .5s; position: absolute ; top: 5px; left: 5px; background: #fff0; width: 15px; height: 15px; border-radius: 45px; box-shadow: inset 0 0 0 1px #4a148c; } /* when true */ radio[checked=true] bg { transition: .5s; background: #b39ddb; } radio[checked=true] check { transition: .5s; background: #4a148c; } checkbox[checked=true] bg { transition: .5s; background: #b39ddb; } checkbox[checked=true] check { transition: .5s; background: #4a148c; left: 30px; } صورة للتصميم A picture أتمنى تقولولي رأيكم في الفكرة وشكرا ? Please, rate the Idea ?
    1 point
×
×
  • Create New...