سؤال

هل من الممكن استخدام noscript عنصر في محددات CSS?

noscript p {
    font-weight: bold;
}
هل كانت مفيدة؟

المحلول

نعم! يمكنك أن تفعل ذلك بالتأكيد.

في الواقع، العديد من (<الإضراب> كل شيء؟ ) المتصفحات تدعم تستهدف أي بطاقة التعسفية باستخدام CSS. العلامات "الرسمية" في HTML المواصفات تحدد فقط ما ينبغي أن تفعله متصفح معهم. لكن CSS هي لغة التي تستهدف أي نكهة XML، لذلك يمكنك القول foo {font-weight:bold;} وفي معظم المتصفحات، و<foo> hello world </foo> يخرج جريئة.

داركو Z يوضح، IE6 / 7 تفعل لا تضيف (غير قياسي) تعسفية العناصر إلى DOM تلقائيا من المصدر؛ فقد لتضاف برمجيا.

نصائح أخرى

لدي أي علة أن نأخذ في الاعتبار.لو OP, كنت فقط أريد أن نمط النص داخل noscript الوسم وليس noscript الوسم نفسه ، يرجى تجاهل هذه..

ويقول كنت تريد أن تجعل noscript الوسم خلفية حمراء.في IE8, سوف تظهر مع شبيبة تمكين.فقط المربع نفسه ، وليس النص من الداخل.

إذن هذا الجمع ليست جيدة:

CSS

noscript {
    background-color: red;
}

HTML

<noscript>Turn on your damned JavaScript! What is this, 1999?</noscript>

ولكن هذا الحل يعمل بشكل جيد:

CSS

noscript div {
    background-color: red;
}

HTML

<noscript><div>Turn on your damned JavaScript! What is this, 1999?</div></noscript>

غريب أنا أرى هذا السلوك في IE8 لا IE7.ومن يدري عن 6..

وبالإضافة إلى ريكس M في الإجابة - IE 6/7 (؟ 6 صفر، 7 ربما) لن أسلوب ل العلامة تعسفية بالنسبة لك. ولكن الحظ بالنسبة لك كما هو الحال مع <الإضراب> جميع العديد من المشاكل IE هناك حلا.

ويقول كنت تريد أن أسلوب عنصر يسمى foo. للحصول على IE الاعتراف بها كعنصر styleable تحتاج إلى تضمين هذا الخط في مكان ما في JS الخاص بك:

document.createElement('foo');

وأنت لا تحتاج إلى إلحاق ذلك، فقط إنشائه.

وهذا سوف ركلة IE في التصميم هذا العنصر بالنسبة لك مع حكم CSS:

foo { font-weight:bold; }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top