Problema
No, le query multimediali non possono essere utilizzate in questo modo
<span style="@media (...) { ... }"></span>
Soluzione
Ma se si desidera fornire un comportamento specifico utilizzabile al volo E reattivo, è possibile utilizzare il style
markup e non l'attributo.
EI
<style scoped>
.on-the-fly-behavior {
background-image: url('particular_ad.png');
}
@media (max-width: 300px) {
.on-the-fly-behavior {
background-image: url('particular_ad_small.png');
}
}
</style>
<span class="on-the-fly-behavior"></span>
Guarda il codice che lavora in diretta su CodePen
Nel mio blog, ad esempio, ho inserito un <style>
markup <head>
subito dopo<link>
dichiarazione per CSS e contiene il contenuto di un'area di testo fornita accanto a textarea di contenuto reale per creare al volo una classe extra quando ho scritto un articolo.
Nota: l' scoped
attributo fa parte della specifica HTML5. Se non lo usi, il validatore ti biasimerà, ma i browser attualmente non supportano il vero scopo: mirare il contenuto <style>
solo sull'elemento genitore immediatamente e sugli elementi figlio di quell'elemento. L'ambito non è obbligatorio se l' <style>
elemento è in <head>
markup.
AGGIORNAMENTO: Consiglio di utilizzare sempre le regole nel primo modo mobile quindi il codice precedente dovrebbe essere:
<style scoped>
/* 0 to 299 */
.on-the-fly-behavior {
background-image: url('particular_ad_small.png');
}
/* 300 to X */
@media (min-width: 300px) { /* or 301 if you want really the same as previously. */
.on-the-fly-behavior {
background-image: url('particular_ad.png');
}
}
</style>
<span class="on-the-fly-behavior"></span>