উত্তর:
যদি কোনও ব্রাউজারে কিছু ঘটে থাকে তবে আমি অবাক হয়ে যাব। এটি সেই অসামান্য ফর্ম উপাদানগুলির মধ্যে একটি যা ব্রাউজারগুলি আপনাকে এত বেশি স্টাইল করতে দেয় না এবং লোকেরা সাধারণত জাভাস্ক্রিপ্টের সাথে প্রতিস্থাপনের চেষ্টা করে যাতে তারা কোনও শৈলী / কোড দেখতে কিছু দেখতে এবং চেকবক্সের মতো কাজ করতে পারে।
আমি "বর্ডার" এর পরিবর্তে "আউটলাইন" ব্যবহার করার পরামর্শ দিই। উদাহরণস্বরূপ: outline: 1px solid #1e5180।
!importantরূপরেখা ব্যবহার করার সময় আপনার সিএসএসে যুক্ত হতে পারে । আমি এটি ফায়ারফক্স 12.0 এ পরীক্ষা করছিলাম এবং ছাড়াই! গুরুত্বপূর্ণ হিসাবে আমি যতক্ষণ না চেকবক্সটি ক্লিক করছিলাম ততক্ষণ মুছে ফেলা হবে।
আপনার ব্যবহার করা উচিত
-moz-appearance:none;
-webkit-appearance:none;
-o-appearance:none;
তারপরে আপনি ডিফল্ট চেকবক্স চিত্র / শৈলী থেকে মুক্তি পাবেন এবং এটি স্টাইল করতে পারবেন। যাইহোক ফায়ারফক্সে একটি সীমানা থাকবে
সীমানা নকল করতে আপনি বাক্সের ছায়া ব্যবহার করতে পারেন:
-webkit-box-shadow: 0px 0px 0px 1px rgba(255,0,0,1);
-moz-box-shadow: 0px 0px 0px 1px rgba(255,0,0,1);
box-shadow: 0px 0px 0px 1px rgba(255,0,0,1);
মার্টিনের কাস্টম চেকবক্স এবং সিএসএস 3 লিঙ্কের রেডিও বোতামের উপর ভিত্তি করে এখানে একটি খাঁটি সিএসএস (কোনও চিত্র নেই) ক্রস ব্রাউজার সমাধান রয়েছে: http://martinivanov.net/2012/12/21/imageless-custom-checkboxes-and-radio-buttons -সঙ্গে-CSS3-revisited /
এখানে একটি জেএসফিডাল: http://jsfiddle.net/DJRavine/od26wL6n/
আমি নিম্নলিখিত ব্রাউজারগুলিতে এটি পরীক্ষা করেছি:
label,
input[type="radio"] + span,
input[type="radio"] + span::before,
label,
input[type="checkbox"] + span,
input[type="checkbox"] + span::before
{
display: inline-block;
vertical-align: middle;
}
label *,
label *
{
cursor: pointer;
}
input[type="radio"],
input[type="checkbox"]
{
opacity: 0;
position: absolute;
}
input[type="radio"] + span,
input[type="checkbox"] + span
{
font: normal 11px/14px Arial, Sans-serif;
color: #333;
}
label:hover span::before,
label:hover span::before
{
-moz-box-shadow: 0 0 2px #ccc;
-webkit-box-shadow: 0 0 2px #ccc;
box-shadow: 0 0 2px #ccc;
}
label:hover span,
label:hover span
{
color: #000;
}
input[type="radio"] + span::before,
input[type="checkbox"] + span::before
{
content: "";
width: 12px;
height: 12px;
margin: 0 4px 0 0;
border: solid 1px #a8a8a8;
line-height: 14px;
text-align: center;
-moz-border-radius: 100%;
-webkit-border-radius: 100%;
border-radius: 100%;
background: #f6f6f6;
background: -moz-radial-gradient(#f6f6f6, #dfdfdf);
background: -webkit-radial-gradient(#f6f6f6, #dfdfdf);
background: -ms-radial-gradient(#f6f6f6, #dfdfdf);
background: -o-radial-gradient(#f6f6f6, #dfdfdf);
background: radial-gradient(#f6f6f6, #dfdfdf);
}
input[type="radio"]:checked + span::before,
input[type="checkbox"]:checked + span::before
{
color: #666;
}
input[type="radio"]:disabled + span,
input[type="checkbox"]:disabled + span
{
cursor: default;
-moz-opacity: .4;
-webkit-opacity: .4;
opacity: .4;
}
input[type="checkbox"] + span::before
{
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
border-radius: 2px;
}
input[type="radio"]:checked + span::before
{
content: "\2022";
font-size: 30px;
margin-top: -1px;
}
input[type="checkbox"]:checked + span::before
{
content: "\2714";
font-size: 12px;
}
input[class="blue"] + span::before
{
border: solid 1px blue;
background: #B2DBFF;
background: -moz-radial-gradient(#B2DBFF, #dfdfdf);
background: -webkit-radial-gradient(#B2DBFF, #dfdfdf);
background: -ms-radial-gradient(#B2DBFF, #dfdfdf);
background: -o-radial-gradient(#B2DBFF, #dfdfdf);
background: radial-gradient(#B2DBFF, #dfdfdf);
}
input[class="blue"]:checked + span::before
{
color: darkblue;
}
input[class="red"] + span::before
{
border: solid 1px red;
background: #FF9593;
background: -moz-radial-gradient(#FF9593, #dfdfdf);
background: -webkit-radial-gradient(#FF9593, #dfdfdf);
background: -ms-radial-gradient(#FF9593, #dfdfdf);
background: -o-radial-gradient(#FF9593, #dfdfdf);
background: radial-gradient(#FF9593, #dfdfdf);
}
input[class="red"]:checked + span::before
{
color: darkred;
}
<label><input type="radio" checked="checked" name="radios-01" /><span>checked radio button</span></label>
<label><input type="radio" name="radios-01" /><span>unchecked radio button</span></label>
<label><input type="radio" name="radios-01" disabled="disabled" /><span>disabled radio button</span></label>
<br/>
<label><input type="radio" checked="checked" name="radios-02" class="blue" /><span>checked radio button</span></label>
<label><input type="radio" name="radios-02" class="blue" /><span>unchecked radio button</span></label>
<label><input type="radio" name="radios-02" disabled="disabled" class="blue" /><span>disabled radio button</span></label>
<br/>
<label><input type="radio" checked="checked" name="radios-03" class="red" /><span>checked radio button</span></label>
<label><input type="radio" name="radios-03" class="red" /><span>unchecked radio button</span></label>
<label><input type="radio" name="radios-03" disabled="disabled" class="red" /><span>disabled radio button</span></label>
<br/>
<label><input type="checkbox" checked="checked" name="checkbox-01" /><span>selected checkbox</span></label>
<label><input type="checkbox" name="checkbox-02" /><span>unselected checkbox</span></label>
<label><input type="checkbox" name="checkbox-03" disabled="disabled" /><span>disabled checkbox</span></label>
<br/>
<label><input type="checkbox" checked="checked" name="checkbox-01" class="blue" /><span>selected checkbox</span></label>
<label><input type="checkbox" name="checkbox-02" class="blue" /><span>unselected checkbox</span></label>
<label><input type="checkbox" name="checkbox-03" disabled="disabled" class="blue" /><span>disabled checkbox</span></label>
<br/>
<label><input type="checkbox" checked="checked" name="checkbox-01" class="red" /><span>selected checkbox</span></label>
<label><input type="checkbox" name="checkbox-02" class="red" /><span>unselected checkbox</span></label>
<label><input type="checkbox" name="checkbox-03" disabled="disabled" class="red" /><span>disabled checkbox</span></label>
আমি জানি আমার বয়স পুরানো .. তবে একটু চূড়ান্ত কাজটি হ'ল আপনার চেকবক্সটি একটি লেবেল ট্যাগের ভিতরে রাখা, তারপরে একটি সীমানা সহ লেবেলটি স্টাইল করুন:
<label class='hasborder'><input type='checkbox' /></label>
তারপরে লেবেলটি স্টাইল করুন:
.hasborder { border:1px solid #F00; }
label { position: relative; overflow: hidden; width: 16px; height: 16px; border: 1px solid #0f0; }এবং তারপরে label > input[type=checkbox] { position: absolute; left: -999px; }এটি আপনাকে কাস্টম স্টাইল করতে দেয় আপনার নিজস্ব চেকবক্স এবং মূল চেকবক্সটি এখনও চেক / চেক করা যাবে না তবে ব্যবহারকারী এটি দেখতে পাবে না। তারা কেবল আপনার কাস্টম চেকবক্সটি দেখতে পাবে।
:hoverএবং :checkedস্টাইল করতে ব্যবহার করতে পারেন ।
এখানে আমার সংস্করণ যা চেকবাক্স টিকারের জন্য ফন্টআউবিজ ব্যবহার করে, আমি মনে করি ফন্টআউজিয়াম প্রায় প্রত্যেকেই ব্যবহার করেছেন সুতরাং আপনার এটিও ধরে নেওয়া নিরাপদ। আইই / এজতে পরীক্ষা করা হয়নি এবং আমি মনে করি না যে কেউ যত্ন করে।
input[type=checkbox] {
-moz-appearance:none;
-webkit-appearance:none;
-o-appearance:none;
outline: none;
content: none;
}
input[type=checkbox]:before {
font-family: "FontAwesome";
content: "\f00c";
font-size: 15px;
color: transparent !important;
background: #fef2e0;
display: block;
width: 15px;
height: 15px;
border: 1px solid black;
margin-right: 7px;
}
input[type=checkbox]:checked:before {
color: black !important;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"/>
<input type="checkbox">
জন্য ফায়ারফক্স , ক্রোম এবং সাফারি , কিছুই ঘটবে।
জন্য আই ই সীমান্ত চেকবক্সটি (না চেকবক্সটি অংশ হিসেবে) বাহিরে প্রয়োগ করা হয়, এবং "অভিনব" ছায়াকরণ চেকবক্সটি কার্যকর সর্বস্বান্ত (একটি oldfashioned চেকবক্সটি হিসেবে প্রদর্শিত) করা হয়।
জন্য অপেরা সীমানা শৈলী আসলে চেকবক্সটি উপাদান সীমান্ত আবেদন করা হয়।
অপেরা অন্যান্য ব্রাউজারগুলির চেয়ে চেকবক্সে আরও স্টাইলিংগুলি পরিচালনা করে: রঙটি টিকের রঙ হিসাবে প্রয়োগ করা হয়, ব্যাকগ্রাউন্ডের রঙটি চেকবাক্সের অভ্যন্তরে ব্যাকগ্রাউন্ড রঙ হিসাবে প্রয়োগ করা হয় (IE ব্যাকগ্রাউন্ডটি প্রযোজ্য যেমন চেকবক্সটি <div>ব্যাকগ্রাউন্ডের অভ্যন্তরে ছিল )) ।
সবচেয়ে সহজ সমাধানটি হ'ল <div>অন্যরা যেমন পরামর্শ দিয়েছে ঠিক তেমন চেকবক্সটি মোড়ানো ।
আপনি যদি চেহারাটি পুরোপুরি নিয়ন্ত্রণ করতে চান তবে আপনাকে উন্নত চিত্র / জাভাস্ক্রিপ্ট পদ্ধতির সাথে যেতে হবে, অন্যরাও বোঝাতে চাইবে।
স্টাইলিং চেকবাক্সগুলি (এবং সেই ম্যাটারের জন্য অনেক অন্যান্য ইনপুট উপাদানগুলি) খাঁটি সিএসএস দিয়ে সত্যই সম্ভব নয় যদি আপনি ভিজ্যুয়াল উপস্থিতিকে তাত্পর্যপূর্ণভাবে পরিবর্তন করতে চান।
আপনার সেরা বাজি হ'ল জকি ট্রান্সফর্মের মতো কিছু বাস্তবায়িত করা যা আসলে আপনার চিত্রগুলির সাথে ইনপুট প্রতিস্থাপন করে এবং এটিতে জাভাস্ক্রিপ্ট আচরণ প্রয়োগ করে একটি চেকবক্সের নকল করতে (বা অন্য বিষয়টির জন্য)
না, আপনি এখনও চেকবাক্সটি নিজেই স্টাইল করতে পারবেন না, তবে কার্যকারিতাটি রাখার সময় আমি কীভাবে একটি ভ্রমকে স্টাইল করতে পারি তা অবশেষে আবিষ্কার করেছি finally চেকবক্সে ক্লিক । এর অর্থ হ'ল পাঠ্য নির্বাচন না করা বা ড্র্যাগ-অ্যান্ড-ড্রপকে ট্রিগার না করে কার্সার পুরোপুরি না থাকলেও আপনি এটিকে টগল করতে পারবেন!
উদাহরণটি একটি স্প্যান "বোতাম" এর পাশাপাশি কোনও লেবেলের কিছু পাঠ্য ব্যবহার করছে তবে এটি আপনাকে কীভাবে চেকবক্সটিকে অদৃশ্য করে তুলতে পারে এবং এর পিছনে কিছু আঁকতে পারে তার ধারণা দেয়।
এই সমাধান সম্ভবত রেডিও বোতাম ফিট করে।
নিম্নলিখিতগুলি আইই 9, এফএফ 30.0 এবং ক্রোম 40.0.2214.91 এ কাজ করে এবং এটি কেবল একটি প্রাথমিক উদাহরণ। আপনি এখনও পটভূমি চিত্র এবং সিউডো-উপাদানগুলির সাথে একত্রে এটি ব্যবহার করতে পারেন।
http://jsfiddle.net/o0xo13yL/1/
label {
display: inline-block;
position: relative; /* needed for checkbox absolute positioning */
background-color: #eee;
padding: .5rem;
border: 1px solid #000;
border-radius: .375rem;
font-family: "Courier New";
font-size: 1rem;
line-height: 1rem;
}
label > input[type="checkbox"] {
display: block;
position: absolute; /* remove it from the flow */
width: 100%;
height: 100%;
margin: -.5rem; /* negative the padding of label to cover the "button" */
cursor: pointer;
opacity: 0; /* make it transparent */
z-index: 666; /* place it on top of everything else */
}
label > input[type="checkbox"] + span {
display: inline-block;
width: 1rem;
height: 1rem;
border: 1px solid #000;
margin-right: .5rem;
}
label > input[type="checkbox"]:checked + span {
background-color: #666;
}
<label>
<input type="checkbox" />
<span> </span>Label text
</label>
এখানে একটি সহজ উপায় (সিউডো উপাদান / শ্রেণীর আগে বা পরে ব্যবহারের জন্য):
input[type=checkbox] {
position: relative;
}
input[type=checkbox]:after {
position: absolute;
top: 0;
left: 0;
/* Above three lines allow the checkbox:after position at checkbox's position */
content: '';
width: 32px;
height: 32px;
z-index: 1; /* This allows the after overlap the checkbox */
/* Anything you want */
}
<!DOCTYPE html>
<html>
<head>
<style>
.abc123
{
-webkit-appearance:none;
width: 14px;
height: 14px;
display: inline-block;
background: #FFFFFF;
border: 1px solid rgba(220,220,225,1);
}
.abc123:after {
content: "";
display: inline-block;
position: relative;
top: -3px;
left: 4px;
width: 3px;
height: 5px;
border-bottom: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
}
input[type=checkbox]:checked {
background: #327DFF;
outline: none;
border: 1px solid rgba(50,125,255,1);
}
input:focus,input:active {
outline: none;
}
input:hover {
border: 1px solid rgba(50,125,255,1);
}
</style>
</head>
<body>
<input class="abc123" type="checkbox"></input>
</body>
</html>
এটি একটি ডিভিতে রাখুন এবং ডিভের সীমানা যুক্ত করুন