මෙන්න විසඳුම් තුනක්:
විසඳුම # 1 - පෙනුම: කිසිවක් නැත - ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 10 - 11 සමඟ වැඩ කිරීම ( ආදර්ශනය )
-
appearance: none
තෝරාගත් අංගයේ පෙරනිමි ඊතලය සැඟවීමට , ඉන්පසු ඔබේ අභිරුචි ඊතලය එක් කරන්නbackground-image
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none; /* Remove default arrow */
background-image: url(...); /* Add custom arrow */
}
බ්රව්සර් සහාය:
appearance: none
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 11 (සහ පසුව) සහ ෆයර්ෆොක්ස් 34 (සහ පසුව) හැර ඉතා හොඳ බ්රව්සර් සහාය ( කැනියස් ) ඇත.
අපට මෙම තාක්ෂණය වැඩිදියුණු කළ හැකි අතර එකතු කිරීමෙන් ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 10 සහ ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 11 සඳහා සහය එක් කළ හැකිය
select::-ms-expand {
display: none; /* Hide the default arrow in Internet Explorer 10 and Internet Explorer 11 */
}
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 9 සැලකිලිමත් වන්නේ නම්, අපට පෙරනිමි ඊතලය ඉවත් කිරීමට ක්රමයක් නොමැත (එයින් අදහස් කරන්නේ අපට දැන් ඊතල දෙකක් ඇති බවය), නමුත් අපට විනෝදජනක ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 9 තේරීම් යන්ත්රයක් භාවිතා කළ හැකිය.
අවම වශයෙන් අපගේ අභිරුචි ඊතලය අහෝසි කිරීමට - පෙරනිමිය තෝරා ඊතලය නොවෙනස්ව තබන්න.
/* Target Internet Explorer 9 to undo the custom arrow */
@media screen and (min-width:0\0) {
select {
background-image:none\9;
padding: 5px\9;
}
}
සියල්ල එකට:
select {
margin: 50px;
width: 150px;
padding: 5px 35px 5px 5px;
font-size: 16px;
border: 1px solid #CCC;
height: 34px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: url(https://stackoverflow.com/favicon.ico) 96% / 15% no-repeat #EEE;
}
/* CAUTION: Internet Explorer hackery ahead */
select::-ms-expand {
display: none; /* Remove default arrow in Internet Explorer 10 and 11 */
}
/* Target Internet Explorer 9 to undo the custom arrow */
@media screen and (min-width:0\0) {
select {
background: none\9;
padding: 5px\9;
}
}
<select>
<option>Apples</option>
<option selected>Pineapples</option>
<option>Chocklate</option>
<option>Pancakes</option>
</select>
මෙම විසඳුම පහසු වන අතර හොඳ බ්රව්සර් සහාය ඇත - එය සාමාන්යයෙන් ප්රමාණවත් විය යුතුය.
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 9 (සහ පසුව) සහ ෆයර්ෆොක්ස් 34 (සහ පසුව) සඳහා බ්රව්සර් සහාය අවශ්ය නම් දිගටම කියවන්න ...
විසඳුම # 2 පෙරනිමි ඊතලය සැඟවීමට තෝරාගත් අංගය කපා දමන්න ( ආදර්ශනය )
-
(වැඩි විස්තර මෙතැනින් කියවන්න)
මෙම ආවරණය කරනවා select
සහිත div මූලද්රව්යය ස්ථාවර පළල හා overflow:hidden
.
ඉන්පසු select
මූලද්රව්යයට div ට වඩා පික්සල් 20 ක් පමණ පළලක් දෙන්න .
ප්රති result ලය වනුයේ select
මූලද්රව්යයේ පෙරනිමි පතන ඊතලය සැඟවී යනු ඇත ( overflow:hidden
කන්ටේනරය මත ඇති නිසා), ඔබට අවශ්ය ඕනෑම පසුබිම් රූපයක් දකුණු පසින් දකුණු පසින් තැබිය හැකිය.
මෙම ප්රවේශයේ ඇති වාසිය නම් එය හරස් බ්රව්සරය (ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 8 සහ පසුව වෙබ්කිට් සහ ගෙකෝ ) ය. කෙසේ වෙතත්, මෙම ප්රවේශයේ අවාසිය නම්, විකල්පයන් දකුණු පසින් පිටතට යාමයි (අප සැඟවූ පික්සල් 20 කින් ... විකල්ප මූලද්රව්ය තෝරාගත් මූලද්රව්යයේ පළල ගන්නා නිසා).
[කෙසේ වෙතත්, අභිරුචි තෝරාගත් අංගය ජංගම උපාංග සඳහා පමණක් අවශ්ය නම් - ඉහත ගැටළුව අදාළ නොවේ - සෑම දුරකථනයක්ම ස්වදේශීයව තෝරාගත් අංගය විවෘත කරන ආකාරය නිසා. එබැවින් ජංගම දුරකථන සඳහා මෙය හොඳම විසඳුම විය හැකිය.]
.styled select {
background: transparent;
width: 150px;
font-size: 16px;
border: 1px solid #CCC;
height: 34px;
}
.styled {
margin: 50px;
width: 120px;
height: 34px;
border: 1px solid #111;
border-radius: 3px;
overflow: hidden;
background: url(https://stackoverflow.com/favicon.ico) 96% / 20% no-repeat #EEE;
}
<div class="styled">
<select>
<option>Pineapples</option>
<option selected>Apples</option>
<option>Chocklate</option>
<option>Pancakes</option>
</select>
</div>
ෆයර්ෆොක්ස් හි අභිරුචි ඊතලය අවශ්ය නම් - 35 වන සංස්කරණයට පෙර - නමුත් ඔබට ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් හි පැරණි අනුවාදයන්ට සහාය වීමට අවශ්ය නොවේ නම් - දිගටම කියවන්න ...
විසඳුම # 3 - pointer-events
දේපල භාවිතා කරන්න ( නිරූපණය )
-
(වැඩි විස්තර මෙතැනින් කියවන්න)
මෙහි අදහස වන්නේ ස්වදේශීය ඩ්රොප් ඩවුන් ඊතලය හරහා මූලද්රව්යයක් ආවරණය කිරීම (අපගේ අභිරුචි එකක් නිර්මාණය කිරීම සඳහා) ඉන්පසු එය මත දර්ශක සිදුවීම් තහනම් කිරීමයි.
වාසිය: එය වෙබ්කිට් සහ හූනන් වල හොඳින් ක්රියාත්මක වේ. එය ද හොඳ පෙනුමක් ඇත ( option
මූලද්රව්ය ඉවත් කිරීම නැත ).
අවාසිය: ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් (ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 10 සහ පහළ) සහාය නොදක්වයි pointer-events
, එයින් අදහස් කරන්නේ ඔබට අභිරුචි ඊතලය ක්ලික් කළ නොහැකි බවයි. එසේම, මෙම ක්රමයේ ඇති තවත් (පැහැදිලිව පෙනෙන) අවාසියක් නම්, ඔබේ නව ඊතල රූපය හෝවර් ආචරණයකින් හෝ අත් කර්සරයකින් ඉලක්ක කළ නොහැකි වීමයි.
කෙසේ වෙතත්, මෙම ක්රමය සමඟ ඔබට ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් ඊතලයෙන් සාදන ලද ප්රමිතියට ආපසු හැරවීමට නවීනකරණය හෝ කොන්දේසි සහිත අදහස් භාවිතා කළ හැකිය.
සැ.යු: ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 10 conditional comments
තවදුරටත් සහාය නොදක්වයි : ඔබට මෙම ප්රවේශය භාවිතා කිරීමට අවශ්ය නම්, ඔබ බොහෝ විට නූතනයිසර් භාවිතා කළ යුතුය . කෙසේ වෙතත්, මෙහි විස්තර කර ඇති CSS හැක් සමඟ ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් 10 වෙතින් දර්ශක සිදුවීම් CSS බැහැර කළ හැකිය .
.notIE {
position: relative;
display: inline-block;
}
select {
display: inline-block;
height: 30px;
width: 150px;
outline: none;
color: #74646E;
border: 1px solid #C8BFC4;
border-radius: 4px;
box-shadow: inset 1px 1px 2px #DDD8DC;
background: #FFF;
}
/* Select arrow styling */
.notIE .fancyArrow {
width: 23px;
height: 28px;
position: absolute;
display: inline-block;
top: 1px;
right: 3px;
background: url(https://stackoverflow.com/favicon.ico) right / 90% no-repeat #FFF;
pointer-events: none;
}
/*target Internet Explorer 9 and Internet Explorer 10:*/
@media screen and (min-width: 0\0) {
.notIE .fancyArrow {
display: none;
}
}
<!--[if !IE]> -->
<div class="notIE">
<!-- <![endif]-->
<span class="fancyArrow"></span>
<select>
<option>Apples</option>
<option selected>Pineapples</option>
<option>Chocklate</option>
<option>Pancakes</option>
</select>
<!--[if !IE]> -->
</div>
<!-- <![endif]-->