ปัญหา
ไม่ไม่สามารถใช้การค้นหาสื่อด้วยวิธีนี้
<span style="@media (...) { ... }"></span>
สารละลาย
แต่ถ้าคุณต้องการให้พฤติกรรมเฉพาะสามารถใช้งานได้ทันทีและตอบสนองคุณสามารถใช้style
มาร์กอัปไม่ใช่แอททริบิวต์
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>
ดูรหัสที่ทำงานในการถ่ายทอดสดบน CodePen
ในบล็อกของฉันฉันฉีด<style>
มาร์กอัป<head>
หลังจาก<link>
ประกาศ CSS และมันมีเนื้อหาของ textarea ที่ให้ไว้ข้างๆ textarea เนื้อหาจริงเพื่อสร้างคลาสพิเศษได้ทันทีเมื่อฉันเขียนบทความ
หมายเหตุ: scoped
แอตทริบิวต์เป็นส่วนหนึ่งของข้อกำหนด HTML5 หากคุณไม่ได้ใช้งานเครื่องมือตรวจสอบจะตำหนิคุณ แต่ปัจจุบันเบราว์เซอร์ไม่สนับสนุนวัตถุประสงค์ที่แท้จริง: กำหนดขอบเขตเนื้อหาของ<style>
องค์ประกอบหลักเท่านั้นและองค์ประกอบย่อยขององค์ประกอบนั้น การกำหนดขอบเขตไม่บังคับถ้า<style>
องค์ประกอบอยู่ใน<head>
มาร์กอัป
UPDATE: ฉันแนะนำให้ใช้กฎในมือถือเป็นอันดับแรกเสมอดังนั้นรหัสก่อนหน้าควรเป็น:
<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>