এটি 2019 এবং এই সমস্যার পূর্ববর্তী উত্তরগুলি ব্যবহার করছে না
- সিএসএস গ্রিড
- সিএসএস ভেরিয়েবল
- এইচটিএমএল 5 ফর্ম উপাদান
- সিএসএসে এসভিজি
সিএসএস গ্রিড হল 2019 সালে ফর্মগুলি করার উপায় কারণ আপনি অতিরিক্ত লেভেল, স্প্যানস, স্পারগুলি এবং অন্যান্য রেটিক্যাল সহ স্প্যানস, স্প্যান না করে আপনার ইনপুটগুলির পূর্ববর্তী লেবেলগুলি রাখতে পারেন।
আমরা এখানে ন্যূনতম সিএসএস নিয়ে যাচ্ছি:
উপরের জন্য এইচটিএমএল:
<form action="https://www.example.com/register/" method="post" id="form-validate" enctype="multipart/form-data">
<p class="form-instructions">Please enter the following information to create your account.</p>
<label for="firstname">First name</label>
<input type="text" id="firstname" name="firstname" value="" title="First name" maxlength="255" required="">
<label for="lastname">Last name</label>
<input type="text" id="lastname" name="lastname" value="" title="Last name" maxlength="255" required="">
<label for="email_address">Email address</label>
<input type="email" autocapitalize="off" autocorrect="off" spellcheck="false" name="email" id="email_address" value="" title="Email address" size="30" required="">
<label for="password">Password</label>
<input type="password" name="password" id="password" title="Password" required="">
<label for="confirmation">Confirm password</label>
<input type="password" name="confirmation" title="Confirm password" id="confirmation" required="">
<input type="checkbox" name="is_subscribed" title="Subscribe to our newsletter" value="1" id="is_subscribed" class="checkbox">
<label for="is_subscribed">Subscribe to the newsletter</label>
<input type="checkbox" name="persistent_remember_me" id="remember_meGCJiRe0GbJ" checked="checked" title="Remember me">
<label for="remember_meGCJiRe0GbJ">Remember me</label>
<p class="required">* Required</p>
<button type="submit" title="Register">Register</button>
</form>
স্থানধারক পাঠ্যটি খুব যোগ করা যেতে পারে এবং এটি অত্যন্ত প্রস্তাবিত। (আমি এই মিড-ফর্মটির উত্তর দিচ্ছি)।
সিএসএস ভেরিয়েবলের জন্য এখন:
--icon-required: url('data:image/svg+xml,\
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="-10 -6 16 16"> \
<line id="line" y1="-3" y2="3" stroke="%23df0000" stroke-linecap="butt" transform="rotate(15)"></line> \
<line id="line" y1="-3" y2="3" stroke="%23df0000" stroke-linecap="butt" transform="rotate(75)"></line> \
<line id="line" y1="-3" y2="3" stroke="%23df0000" stroke-linecap="butt" transform="rotate(-45)"></line> \
</svg>');
--icon-tick: url('data:image/svg+xml,\
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100" viewBox="-2 -2 16 16"> \
<path fill="green" stroke-linejoin="round" d="M2 6L1 7l3 4 7-10h-1L4 8z"/> \
</svg>');
ফর্ম উপাদানগুলির জন্য সিএসএস:
input[type=text][required],
input[type=email][required],
input[type=password][required],
input[type=tel][required] {
background-image: var(--icon-required);
background-position-x: right;
background-repeat: no-repeat;
background-size: contain;
}
input:valid {
--icon-required: var(--icon-tick);
}
ফর্মটি নিজেই সিএসএস গ্রিডে থাকা উচিত:
form {
align-items: center;
display: grid;
grid-gap: var(--form-grid-gap);
grid-template-columns: var(--form-grid-template-columns);
margin: auto;
}
কলামগুলির জন্য মানগুলি সেট যেমন 1fr auto
বা এর 1fr
সাথে সেট করা যেতে পারে<p>
ফর্মের ট্যাগগুলির 1 / -1 স্প্যান সেট করে। আপনি আপনার মিডিয়া ক্যোয়ারিতে ভেরিয়েবলগুলি পরিবর্তন করেন যাতে আপনার মোবাইলে এবং ডেস্কটপে উপরের হিসাবে পূর্ণ ইনপুট বাক্স থাকে। আপনি যদি সিএসএস ভেরিয়েবল পদ্ধতির সাহায্যে চান তবে আপনার গ্রিডের ব্যবধানটি মোবাইলেও পরিবর্তন করতে পারেন।
বাক্সগুলি বৈধ হয়ে গেলে আপনার নক্ষত্রের পরিবর্তে একটি গ্রিন টিক দেওয়া উচিত।
সিএসএসের এসভিজি হ'ল নক্ষত্রের চিত্র পেতে সার্ভারে একটি বৃত্তাকার ভ্রমণ করতে ব্রাউজারকে বাঁচানোর একটি উপায়। এইভাবে আপনি তারকাচিহ্নগুলি সূচনা করতে পারেন, এখানে উদাহরণগুলি একটি অস্বাভাবিক কোণে রয়েছে, উপরের এসভিজি আইকনটি সম্পূর্ণ পঠনযোগ্য হওয়ায় আপনি এটি সম্পাদনা করতে পারেন। কেন্দ্রের উপরে বা নীচে নীচে অবস্থানের জন্য ভিউবক্সটিও সংশোধন করা যেতে পারে।