क्रोम में काम नहीं कर रहे विकल्प पैडिंग का चयन करें
<style>
select option { padding:5px 0px; }
</style>
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
क्रोम में काम नहीं कर रहे विकल्प पैडिंग का चयन करें
<style>
select option { padding:5px 0px; }
</style>
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
जवाबों:
मुझे बस क्रोम में चुनिंदा इनपुट पर पेडिंग लगाने का एक तरीका मिला
select{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 5px;
}
वर्तमान क्रोम में काम करने लगता है 39.0.2171.71 (64-बिट) और सफारी (मैंने केवल एक मैक पर यह परीक्षण किया है)।
यह चुनिंदा इनपुट में जोड़े गए डिफ़ॉल्ट स्टाइल को हटाने के लिए लगता है (यह ड्रॉप डाउन एरो भी हटा दिया गया है), लेकिन फिर आप इसे क्रोम के बिना अपने स्टाइल का उपयोग कर सकते हैं।
मैं यहाँ से कोड का उपयोग करते हुए इस फिक्स को ठोकर मार गया: http://fettblog.eu/style-select-elements/
<select><option/></select>तत्वों को पूरी तरह से अनुकूलन योग्य <ul><li/></ul>तत्वों में परिवर्तित करते हैं। इस तरह से आप अपने अन्य इनपुट फ़ील्ड या सामान्य UI से मेल खाते हुए अपने सभी ड्रॉपडाउन को स्टाइल कर सकते हैं।
यह सरल हैक पाठ को इंडेंट करेगा। अच्छा काम करता है।
select {
text-indent: 5px;
}
ऐसा लगता है
दुर्भाग्य से, वेबकिट ब्राउज़र विकल्प टैग की स्टाइलिंग का समर्थन नहीं करते हैं।
आपको यहाँ इसी तरह का प्रश्न मिल सकता है
सबसे व्यापक रूप से उपयोग किया जाने वाला क्रॉस ब्राउज़र समाधान उल ली का उपयोग करना है
आशा है कि इससे सहायता मिलेगी!
मैंने इसे इसके साथ तय किया
select {
max-height: calc(1.2em + 24px);
height: calc(1.2em + 24px);
}
max-height: calc(your line height + (top + bottom padding));
height: calc(your line height + (top + bottom padding));
height: calc(1.2em + 24px);नहीं हैmax-height: calc(1.2em + 24px);
बहुत, बहुत आसान विचार है, लेकिन आप इसे तदनुसार संशोधित कर सकते हैं। यह केवल विचार प्रदान करने के लिए अच्छा दिखने के लिए सेट नहीं किया गया है। आशा है कि इससे सहायता मिलेगी।
सीएसएस:
ul {
width: 50px;
height: 20px;
border: 1px solid black;
display: block;
}
li {
padding: 5px 0px;
width: 50px;
display: none;
}
HTML:
<ul id="customComboBox">
 
<li>Test</li>
<li>Test 2</li>
<li>Test 3</li>
</ul>
स्क्रिप्ट:
$(document).ready(function(){
$("#customComboBox").click(function(){
$("li").toggle("slow");
});
});
यह optionप्रविष्टि पर काम नहीं कर रहा है क्योंकि यह एक "सिस्टम" उत्पन्न ड्रॉप-डाउन मेनू है लेकिन आप paddingएक चयन का सेट कर सकते हैं।
बस अपने सीएसएस में box-sizingसंपत्ति रीसेट करें content-box।
का डिफ़ॉल्ट मान selectहै border-box।
select {
box-sizing: content-box;
padding: 5px 0;
}
मैं आपकी समस्या के लिए एक छोटी सी चाल है। लेकिन इसके लिए आपको जावास्क्रिप्ट का उपयोग करना होगा। यदि आपको पता चला है कि ब्राउज़र हर विकल्प के बीच क्रोम डाला " डमी " विकल्प है। उन " डमी " विकल्पों के लिए एक नई कक्षा दें और उन्हें अक्षम करें। " डमी " विकल्पों की ऊंचाई आप फ़ॉन्ट-आकार की संपत्ति के साथ परिभाषित कर सकते हैं।
सीएसएस:
option.dummy-option-for-chrome {
font-size:2px;
color:transparent;
}
स्क्रिप्ट:
function prepareHtml5Selects() {
var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );
if(!is_chrome) return;
$('select > option').each(function() {
$('<option class="dummy-option-for-chrome" disabled></option>')
.insertBefore($(this));
});
$('<option class="dummy-option-for-chrome" disabled></option>')
.insertAfter($('select > option:last-child'));
}
पैडिंग नहीं है लेकिन अगर आपका लक्ष्य केवल इसे बड़ा बनाना है, तो आप इसे बढ़ा सकते हैं font-size। और इसका उपयोग करने font-size-adjustसे फ़ॉन्ट-आकार वापस सामान्य रूप से कम हो जाता है और विकल्पों पर नहीं, इसलिए यह optionबड़ा बनाता है ।
सुनिश्चित नहीं है कि यह सभी ब्राउज़रों पर काम करता है, या वर्तमान में काम करता रहेगा।
Chrome 85 और फ़ायरफ़ॉक्स 81 पर परीक्षण किया गया।
select {
font-size: 2em;
font-size-adjust: 0.3;
}
<label>
Select: <select>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select>
</label>
नो जेकरी - नो थर्ड पार्टी js फाइल
function clickComboBox(){
comboOpt = document.getElementsByClassName("opt");
for (i = 0; i < comboOpt.length; i++) {
if (comboOpt[i].style.display === "block") {
comboOpt[i].style.display = "none";
} else {
comboOpt[i].style.display = "block";
}
}
}
function clickOpt(value1,text1){
document.getElementById("selectedValue").value=value1;
document.getElementById("customComboBox").innerHTML=text1;
clickComboBox();
}
#customComboBox{
width: 150px;
height: 20px;
border: 1px solid #CCCCCC;
display: block;
padding: 2px 5px;
}
.opt{
padding: 5px 0px;background-color:#CCCCCC;
width: 160px;
display: none;
}
<div id="customComboBox" onClick="clickComboBox()">
-Select Value-
</div>
<input type="hidden" id="selectedValue">
<div class="opt">
<div onClick="clickOpt('01','Test1')"><img src="https://pasteboard.co/J6940Vs.png" height="20">Test1</div>
<div style="padding-left:10px;" onClick="clickOpt('02','Test2')">Test2</div>
<div onClick="clickOpt('03','Test3')">Test3</div>
</div>
स्मार्ट कोड - jquery का उपयोग करें
यदि आप केवल यादृच्छिक, मनमाने <option />तत्वों को इंडेंट करना चाहते हैं, तो आप उपयोग कर सकते हैं , जिसमें यहां पोस्ट किए गए समाधानों की सबसे बड़ी क्रॉस-ब्राउज़र संगतता है ...
.optionGroup {
font-weight: bold;
font-style: italic;
}
<select>
<option class="optionGroup" selected disabled>Choose one</option>
<option value="sydney" class="optionChild"> Sydney</option>
<option value="melbourne" class="optionChild"> Melbourne</option>
<option value="cromwell" class="optionChild"> Cromwell</option>
<option value="queenstown" class="optionChild"> Queenstown</option>
</select>
लेकिन अगर आपने अपने डेटा में कुछ क्रमबद्ध, संरचना का आदेश दिया है , तो यह अनुशंसा की जाती है कि आप <optgroup/>वाक्यविन्यास का उपयोग करें ...।
HTML तत्व किसी तत्व के भीतर विकल्पों का समूह बनाता है। (स्रोत: MDN वेब डॉक्स:
<optgroup>)
<select>
<optgroup label="Australia" default selected>
<option value="sydney">Sydney</option>
<option value="melbourne">Melbourne</option>
</optgroup>
<optgroup label="United Kingdom">
<option value="london">London</option>
<option value="glasgow">Glasgow</option>
</optgroup>
</select>
दुर्भाग्य से, केवल एक <optgroup />स्तर की अनुमति है और वर्तमान में ब्राउज़रों द्वारा समर्थित है। (स्रोत: w3.org ।) व्यक्तिगत रूप से, मैं कल्पना के उस हिस्से को टूटा हुआ मानूंगा, लेकिन आप हमेशा ऊपर दिए गए ट्रिक का उपयोग करने के साथ तीसरे, चौथे, आदि का स्तर बढ़ा सकते हैं।
बस चयनित टैग की ऊंचाई निर्धारित करें
select{
height: 30px;
max-height: 30px;
}
आपको सिलेक्ट ऑप्शन के बजाय अपने CSS के लिए सिलेक्ट करना चाहिए।
select {
padding: 10px;
margin: 0;
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
}
अधिक स्टाइलिंग विकल्पों के लिए CSS3 के साथ स्टाइलिंग सिलेक्ट बॉक्स का यह लेख देखें ।