अक्षम इनपुट पाठ रंग


93

नीचे दिया गया साधारण HTML अलग-अलग फ़ायरफ़ॉक्स और वेबिट-आधारित ब्राउज़रों में प्रदर्शित होता है (मैंने सफारी, क्रोम और आईफ़ोन में जाँच की)।

फ़ायरफ़ॉक्स में बॉर्डर और टेक्स्ट दोनों का रंग समान है ( #880000), लेकिन सफारी में टेक्स्ट थोड़ा हल्का हो जाता है (जैसे कि उस पर कुछ पारदर्शिता लागू की गई थी)।

क्या मैं किसी तरह इसे ठीक कर सकता हूं (सफारी में इस पारदर्शिता को हटा दें)?

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
    input:disabled{
        border:solid 1px #880000;
        background-color:#ffffff;
        color:#880000;
    }
    </style>
</head>
<body>
    <form action="">
        <input type="text" value="disabled input box" disabled="disabled"/>
    </form>
</body>
</html>

मैंने यह भी देखा, मेरे लिए यह एक बग है, जब से आप पृष्ठभूमि-रंग डालते हैं: इनपुट का सफेद यह रंग फिर से सही ढंग से दिखाएगा। साथ ही अपारदर्शिता का बहुत कम प्रभाव होता है। Alweought -webkit-text-fill-color: # 880000 चलेगा
मिगुएल

जवाबों:


235
-webkit-text-fill-color: #880000;
opacity: 1; /* required on iOS */

51
मैं चाहता था कि मेरा विकलांग इनपुट बॉक्स एक सामान्य की तरह दिखे। यह केवल एक चीज है जो सफारी मोबाइल में काम करेगी। -webkit-text-fill-color: rgba (0, 0, 0, 1); -वेबकिट-अपारदर्शिता: 1; पृष्ठभूमि: सफेद;
रयान

11
@ रेयान के बारे में सही है - 1मोबाइल सफारी के लिए अपारदर्शिता निर्धारित की जानी चाहिए ।
डेविड जोन्स

7
opacity:1भी आवश्यक है।
मार्सेल फॉलियर

3
ग्रीष्मकालीन 2016 के रूप में सफारी के वर्तमान निर्माण में अस्पष्टता की आवश्यकता नहीं है।
एंडी मर्सर

2
मेरा दिन बचाया! फिर भी यह तत्व के placeholderपाठ के रंग को प्रभावित करता है input। : मामले में आप इसके लिए एक ठीक भी, इस लिंक को देखने की आवश्यकता होगी css-tricks.com/almanac/selectors/p/placeholder
Lentyai

43

फ़ोन और टेबलेट वेबकिट ब्राउज़र (सफारी और क्रोम) और डेस्कटॉप IE में कई निष्क्रिय रूप तत्वों के लिए डिफ़ॉल्ट परिवर्तन होते हैं जिन्हें आप अक्षम इनपुट की शैली में करना चाहते हैं, तो आपको ओवरराइड करना होगा।

-webkit-text-fill-color:#880000; /* Override iOS / Android font color change */
-webkit-opacity:1; /* Override iOS opacity change affecting text & background color */
color:#880000; /* Override IE font color change */

6

यह एक दिलचस्प सवाल है और मैंने यह देखने के लिए बहुत प्रयास किए हैं कि क्या मैं इसे प्राप्त कर सकता हूं, लेकिन कुछ भी काम नहीं कर रहा है। आधुनिक ब्राउज़र वास्तव में तत्वों को प्रदर्शित करने के तरीके बताने के लिए अपनी स्वयं की स्टाइल शीट का उपयोग करते हैं, इसलिए हो सकता है कि यदि आप क्रोम की स्टाइलशीट को सूँघ सकें तो आप देख सकते हैं कि वे किस शैली के लिए मजबूर कर रहे हैं। मुझे परिणाम में बहुत दिलचस्पी होगी और अगर आपके पास एक नहीं है तो मैं थोड़ा समय अपने आप को तलाश करूँगा बाद में जब मुझे कुछ समय बर्बाद करना होगा।

FYI करें,

opacity: 1!important;

यह ओवरराइड नहीं करता है, इसलिए मुझे यकीन नहीं है कि यह अस्पष्टता है।


धन्यवाद! मुझे कोई स्पष्टीकरण नहीं मिला (क्रोम के उपयोगकर्ता एजेंट शैली पत्रक में ऐसा कुछ भी नहीं है - केवल "पृष्ठभूमि-रंग: rgb (235, 235, 228)" अक्षम इनपुट के लिए) और मैं वर्कअराउंड का उपयोग कर रहा हूं, लेकिन अभी भी उत्सुक हूं कि क्या हो रहा है पर ...
संयोग से

स्टीव, इस प्रयास के लिए धन्यवाद, लेकिन मेरा सुझाव है कि भविष्य में आप इसे उत्तर के बजाय टिप्पणी के रूप में पोस्ट करें।
औसतन

6

आप करने के लिए रंग बदल सकता है #440000सफारी के लिए बस, लेकिन IMHO सबसे अच्छा समाधान होगा करने के लिए नहीं बटन के परिवर्तन दिखता है सब पर । इस तरह, हर प्लेटफ़ॉर्म पर हर ब्राउज़र में, यह वैसा ही दिखेगा जैसा कि उपयोगकर्ता इसे करने की अपेक्षा करते हैं।


5

अद्यतन 2019:

इस पृष्ठ से विचारों को "सेट और भूल" समाधान में मिलाएं।

input:disabled, textarea:disabled, input:disabled::placeholder, textarea:disabled::placeholder {
  -webkit-text-fill-color: currentcolor; /* 1. sets text fill to current `color` for safari */
  opacity: 1; /* 2. correct opacity on iOS */
}

4

आप अक्षम विशेषता के बजाय आसानी से उपयोग कर सकते हैं, लेकिन तब आपको एक वर्ग जोड़ने की आवश्यकता होगी क्योंकि कोई छद्म वर्ग इनपुट नहीं है: आसानी से।

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
button.readonly{
    border:solid 1px #880000;
    background-color:#ffffff;
    color:#880000;
}
</style>
</head>
<body>
<form action="">
    <button type="button" readonly="readonly" class="readonly">disabled input box</button>
</form>
</body>
</html>

सावधान रहें कि एक अक्षम इनपुट और आसानी से इनपुट समान नहीं हैं। एक आसानी से इनपुट में फ़ोकस हो सकता है, और सबमिट पर मान भेजे जाएंगे। को देखो w3.org


धन्यवाद आदमी हाँ, यह मेरा पहला विचार भी था, लेकिन यह फ़ोकस के कारण मेरे लिए काम नहीं करता है: iPhone पर कीबोर्ड तब पॉप अप होता है जब कोई उपयोगकर्ता एक पठनीय तत्व को टैप करता है, और यह भ्रमित करता है कि मैंने अपना वर्कअराउंड ढूंढ लिया है, और मेरा सवाल बल्कि 'सैद्धांतिक' है - यह व्यवहार क्यों?
संयोग

एक दिलचस्प वर्कअराउंड: फ़ोकस समस्या भी प्रयोज्य समस्याओं को जन्म देती है, विशेष रूप से स्क्रीन रीडर का उपयोग करने वाले लोगों के लिए। ज्यादातर मामलों में, आप नहीं चाहेंगे कि उपयोगकर्ता एक फॉर्म में आसानी से / अक्षम फ़ील्ड टैब कर सकें।
18net पर औसत

4

@ आर्यन के लिए

मैं चाहता था कि मेरा विकलांग इनपुट बॉक्स एक सामान्य की तरह दिखे। यह केवल एक चीज है जो सफारी मोबाइल में काम करेगी।

-webkit-text-fill-color: rgba(0, 0, 0, 1);
-webkit-opacity: 1;
background: white;

3

आप सभी विकलांग आदानों के लिए समस्या को ठीक करने के लिए चाहते हैं, तो आप को परिभाषित कर सकते -webkit-text-fill-colorकरने के लिए currentcolorहै, तो colorइनपुट की संपत्ति का उपयोग किया जाएगा।

input[disabled] {
   -webkit-text-fill-color: currentcolor;
}

सफारी पर उस बेला को देखें https://jsfiddle.net/u549yk87/3/ देखें


2

यह सवाल बहुत पुराना है लेकिन मुझे लगा कि मैं एक अपडेटेड वेबकिट समाधान पोस्ट करूंगा। बस निम्नलिखित सीएसएस का उपयोग करें:

input::-webkit-input-placeholder {
  color: #880000;
}

3
और फ़ायरफ़ॉक्स के लिए, इनपुट का उपयोग करें: -मोज़-प्लेसहोल्डर
stephan.com

1
एह .. यह प्लेसहोल्डर विशेषता के लिए है, मुझे नहीं लगता कि विकलांग क्षेत्रों पर इसका प्रभाव है। @ केमो का जवाब नीचे ( -webkit-text-fill-color) हालांकि काम करता है
फिल्फेरो

0

क्या आप इनपुट के बजाय बटन का उपयोग कर सकते हैं?

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
    button:disabled{
        border:solid 1px #880000;
        background-color:#ffffff;
        color:#880000;
    }
    </style>
</head>
<body>
    <form action="">
        <button type="button" disabled="disabled">disabled input box</button>
    </form>
</body>
</html>

वास्तव में नहीं ... मेरे वास्तविक एप्लिकेशन में उन टेक्स्टबॉक्स को आमतौर पर इनपुट के लिए सक्षम और उपयोग किया जाता है, और केवल कुछ शर्तों के तहत वे जावास्क्रिप्ट के साथ अक्षम हो जाते हैं मैं एक वर्कअराउंड का पता लगा सकता हूं (जैसे, <इनपुट /> को स्टाइल <div> <से बदलें) / div> 'अक्षम' को स्थापित करने के बजाय) - लेकिन यह वास्तव में गलत लगता है
Incidently
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.