Rumah > hujung hadapan web > tutorial css > Bolehkah Elemen Sebaris yang Mengandungi Elemen Blok Dianggap HTML Sah, Memandangkan Manipulasi CSS?

Bolehkah Elemen Sebaris yang Mengandungi Elemen Blok Dianggap HTML Sah, Memandangkan Manipulasi CSS?

DDD
Lepaskan: 2024-12-29 11:16:14
asal
823 orang telah melayarinya

Can Inline Elements Containing Block Elements Be Considered Valid HTML, Given CSS Manipulation?

Teka-teki: Menyelesaikan Penukaran Elemen Blok yang Dibenarkan kepada Sejajar dengan Elemen Blok Terbenam

Dalam bidang penanda HTML dan penggayaan CSS, difahami secara meluas bahawa bersarang elemen blok dalam elemen sebaris melanggar piawaian web yang ditetapkan. Walau bagaimanapun, situasi pelik timbul apabila senario terbalik ditemui: elemen sebaris yang mengandungi elemen blok.

Pertimbangkan coretan berikut:

<div><p>This is a paragraph</p></div>
Salin selepas log masuk

Penanda ini kelihatan sah dengan sempurna sehingga CSS yang membingungkan di bawah digunakan:

div {
   display:inline;
}
Salin selepas log masuk

Teka-teki timbul apabila kita meneliti yang terhasil laman web. Elemen div sebaris kini menyertakan elemen p peringkat blok, yang berkemungkinan melanggar peraturan HTML dan CSS konvensional.

Kekaburan Kesahan

Persoalan kesahihan menjadi yang terpenting. Adakah elemen halaman masih mematuhi piawaian web? Sesetengah mungkin berpendapat bahawa penanda awal adalah sah tetapi CSS menjadikan elemen tidak sah, manakala yang lain mungkin menegaskan bahawa kesahihan harus dinilai selepas aplikasi CSS.

Enigma Spesifikasi CSS

Spesifikasi CSS 2.1 menyediakan definisi samar untuk senario khusus ini:

"Apabila kotak sebaris mengandungi kotak tahap blok aliran masuk, kotak sebaris [...] dipecahkan di sekeliling kotak tahap blok, membelah kotak sebaris kepada dua kotak..."

Penjelasan ini membayangkan bahawa elemen sebaris dibahagikan kepada dua, pada asasnya mencipta kotak blok tanpa nama di sekeliling elemen blok terbenam. Walau bagaimanapun, spesifikasi meninggalkan soalan yang tidak terjawab berkenaan pelaksanaan dan ketekalan merentas penyemak imbas.

Ketidakpastian Pelaksanaan Penyemak Imbas

Sementara spesifikasi CSS cuba menentukan gelagat, pelaksanaannya dalam pelbagai penyemak imbas tetap menjadi satu tekaan. Sesetengah penyemak imbas mungkin mengikut spesifikasi, manakala yang lain mungkin mempamerkan pelaksanaan alternatif, seperti memberikan sempadan di sekeliling elemen sebaris yang mengandungi elemen blok.

Pengecualian HTML5

Menambahkan kerumitan kepada situasi tersebut, HTML5 memperkenalkan pengecualian yang membenarkan elemen peringkat blok diletakkan dalam elemen sebaris tertentu, seperti tag. Pengecualian ini memberikan kelemahan kepada pembangun yang ingin mencipta blok besar kandungan boleh klik.

Kesimpulan

Kesahihan menukar elemen blok kepada sebaris dengan elemen blok terbenam kekal sebagai subjek perbahasan. Walaupun spesifikasi CSS menyediakan rangka kerja, tafsiran dan pelaksanaannya merentas penyemak imbas mungkin berbeza-beza. Akibatnya, pembangun harus berhati-hati apabila menggunakan teknik ini, terutamanya berkenaan dengan pertimbangan keserasian merentas penyemak imbas.

Atas ialah kandungan terperinci Bolehkah Elemen Sebaris yang Mengandungi Elemen Blok Dianggap HTML Sah, Memandangkan Manipulasi CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan