هل هناك أي شيء خاطئ مع كتابة أجزاء من صفحة ويب في XHTML مع doctype HTML?

StackOverflow https://stackoverflow.com/questions/1040969

  •  22-07-2019
  •  | 
  •  

سؤال

لقد بدأت مؤخرا تعلم HTML/CSS و أنا أحاول تعليم نفسي صوت برمجة الويب الممارسات.أنا على دراية XML, لذلك الترميز حتى صفحات الويب في XHTML هو بديهية يكفي و بدا صوت شيء للقيام به.ومع ذلك, لقد كنت أقرأ مقالات مثل هذا واحد والآن أنا متناقضة.

مخاوفي مع الترميز في أي HTML و XHTML تنبع من التالي:

  1. العلامات img لا تحتاج إلى أن تكون مغلقة في HTML و التي تجعل معنى بالنسبة لي.ولكن في XHTML, العلامات img تتطلب إغلاق الوسم الذي يبدو غير تقليدي.أنا فقط أعتقد أنه من الغريب أن يكون لها زوج من فتح وإغلاق الكلمات الدليلية مع لا شيء بين بين.
  2. p الكلمات (كما في الفقرة) لا تحتاج إلى أن تكون مغلقة في HTML و هو غير تقليدي بالنسبة لي.فمن المنطقي أن قسم من الفقرة بين فتح وإغلاق علامات كما في XHTML.

هذه هي الأمثلة الأساسية لا يمكن أن تصل في هذه اللحظة, ولكن أنا على أمل أنها على الأقل تظهر مدى الانقسام أنا بين HTML و XHTML.حتى هنا هو السؤال الفعلي:لا بأس أن يرمي في كود XHTML (عندما أشعر أنه مناسب يوضح شيئا) عندما أكون الترميز حتى صفحة ويب التي يجب أن تكون في HTML (مع DTD HTML)?أنا متأكد من أن الموقع قد تبدو متشابهة ، ولكن إذا كان الناس في المصدر ، هل كنت رهيب مهني المبرمج?

أيضا, لقد كنت نوع من عمياء تبحث من خلال البرامج التعليمية وأدلة عبر جوجل على الصوت برمجة الويب الممارسات و أنا أتساءل عما إذا كان الناس أي نصيحة/الموارد تقاسمها مع لي.أنا حقا أريد أن تأكد من أنني أتعلم كيفية القيام بذلك بالطريقة الصحيحة.وأود أن نقدر ذلك حقا.

شكرا على القراءة!

تحرير:نجاح باهر, هذه الاستجابات السريعة;يا رفاق هي رهيبة!لذلك أنا أفهم أن متصفحات الويب ستكون متساهلة جدا عندما يتعلق الأمر إلى هذا النوع من الاشياء.مشكلتي هي ثم سؤال من الغرور وكيف غيرهم من المهنيين يشعرون عن الكتابة نوع من مزيج من XHTML و HTML.بدقة المتوافقة مع رمز الطريقة ؟ أنا بصراحة لا أريد أن أبدو أحمق هاها.

هل كانت مفيدة؟

المحلول

العلامات img لا تحتاج إلى أن تكون مغلقة في HTML ، و التي تجعل معنى بالنسبة لي.

لا الوسم يجب أن تكون مغلقة.كل عناصر تحتاج إلى أن تكون مغلقة.

معظم العناصر تتكون من بداية الوسم بعض المحتوى ، نهاية الوسم.

منذ صورة عنصر لا يمكن أن يكون المحتوى نهاية الوسم ليست هناك حاجة.في HTML ، العناصر التي لا يمكن أن يكون المحتوى ("العناصر الفارغة") نهاية الكلمات المحرمة.

ولكن في XHTML, العلامات img تتطلب إغلاق الوسم الذي يبدو غير تقليدي.

XHTML هو تطبيق XML بدلا من SGML التطبيق ، و XML لا يملك كل الميزات التي SGML لا — بما في ذلك القدرة على تحديد نهاية الوسم ممنوع.

أنا فقط أعتقد أنه من الغريب أن يكون لها زوج من فتح وإغلاق الكلمات الدليلية مع لا شيء بين بين.

XML يقدم نوع جديد من العلامة الذاتي إغلاق الوسم (<foo />) الذي يعمل بمثابة بداية ونهاية الوسم جنبا إلى جنب.

إذا كنت كتابة HTML-XHTML متوافق (التي يجب أن تكون إذا اخترت استخدام XHTML و تريد دعم المتصفحات التي لا تدعم هذه اللغة — مثل إنترنت إكسبلورر) ، ثم يجب أن استخدام بناء الجملة.(ط يفضلون التمسك HTML نفسي)

p الكلمات (كما في الفقرة) لا تحتاج إلى أن تكون مغلقة في HTML و هو غير تقليدي بالنسبة لي.

العديد من العناصر في HTML لديك اختياري نهاية الكلمات.هذا يسمح نهاية الوسم أن تكون محذوفة عندما يمكن أن يكون ضمنيا.

على سبيل المثال:

<p>Hello, world
<p>A second paragraph

منذ p عنصر لا يمكن أن تحتوي على آخر عنصر ص ، يمكنك تعني (مع موثوقية 100%) أن تبدأ فقرة جديدة سيتم إغلاق سابقتها.

وقال هم اختياري, لا ممنوع.يمكنك كتابة HTML 4.01 صريحة نهاية الكلمات عن أي العنصر الذي ليس جوهريا فارغة.

لا بأس أن يرمي في كود XHTML (عندما أشعر أنه مناسب يوضح شيئا) عندما أكون الترميز حتى صفحة ويب التي يجب أن تكون في HTML (مع DTD HTML)?أنا متأكد الموقع سوف ننظر نفسه ، ولكن إذا كان الناس في المصدر ، هل كنت رهيب مهني المبرمج?

فإنها تبدو غير مهني.

وقال ان هناك ثلاث مرات فقط عندما XHTML الجملة ليست مطابقة HTML الجملة:

العناصر الفارغة — مثل <img> و <br> تحتاج إلى صراحة مغلقة في XHTML ... لكنك قلت أنك لا تحب أن الجملة.

النصوص والأساليب — تحتاج إلى استخدام مراجع الحرف أو CDATA علامات إذا كنت تستخدم أحرف معينة في الخاص بك جزءا لا يتجزأ من JS و CSS في XHTML, ولكن هذه العناصر هي علامة CDATA في DTD HTML, لذلك هذا قد يكون خطأ هناك ... ولكن لا يجب استخدام البرامج النصية المضمنة أو الأساليب على أي حال.

مساحات — ولكن لا يوجد الوقت عند استخدام مساحة اسم XML في منتصف مستند HTML سوف تأتي على مقربة من توضيح شيء.

نصائح أخرى

HTML 5 يسمح استخدام XHTML الجملة.

يمكنك البدء باستخدام HTML 5 doctype الآن والتي سوف تدفع جميع المتصفحات في وضع المعايير ، ولكن تكون على علم بأن الميزات الجديدة من HTML 5 هي الوحيدة المعتمدة في بعض المتصفحات.

من ويب النص التشعبي تطبيق التكنولوجيا الفريق العامل:

يجب علي أن أغلق العناصر الفارغة مع /> أو >?

الفراغ العناصر في HTML (مثلbr, img عناصر الإدخال) لا تتطلب مائل زائدة.على سبيل المثالبدلا من الكتابة <br />, تحتاج فقط إلى كتابة <br>.هذا هو نفسه كما في HTML 4.01.ومع ذلك ، بسبب انتشار محاولات استخدام XHTML 1.0, هناك عدد كبير من الصفحات باستخدام مائل زائدة.لأن هذه مائل زائدة الجملة قد يسمح في الفراغ العناصر في HTML من أجل تخفيف الهجرة من XHTML 1.0 إلى HTML5.

فإن رائع بسيط HTML 5 doctype يبدو مثل هذا:

<!DOCTYPE html>

لذا نعم, يمكنك كتابة متوافقة مع المعايير HTML مع النفس إغلاق علامات وأنه سيتم التحقق من صحة ضد HTML 5 مدقق.هذه الصناعة على نطاق واسع المختار اعتماد HTML5 على XHTML2 ، وبالتالي لن نوصي باستخدام XHTML عن أي مشاريع جديدة.


تحرير:فقط وعلى سبيل التوضيح ، فمن الأسلم أن استخدام HTML 5 doctype الآن ، كما أنه من الأسلم أن نفترض أن HTML 5 على نطاق واسع عبر XHTML 2 إعطاء دعم الصناعة.أنت بالتأكيد يمكن أن المؤلف HTML 5 الوثائق الآن ، ومع ذلك العديد من ميزات HTML5, مثل <canvas> (لا سيما تفتقر إلى الدعم من مايكروسوفت نظرا لأنه يتنافس مع سيلفرلايت) لا يكون عبر دعم المتصفح و تخضع للتغيير.

هو 'حسنا' بمعنى أن تقريبا كل متصفح سوف تجعل ذلك بشكل صحيح ، ولكن فقط لأنها بنيت على التعامل مع تالف HTML/XHTML/XML/أيا كان.ومع ذلك ، فإن أي عنصر(s) غير مطابقة أعلن doctype (في الحالة الخاصة بك ، DTD HTML) منع التعليمات البرمجية الخاصة بك من صحتها, و هو من الناحية الفنية ، تالف.

ومن ناحية أخرى ، فإن الغالبية العظمى من المواقع (حتى تلك التي تجعل صحيح) لا التحقق من صحة, حتى انها ليست مشكلة كبيرة.أود أن عصا (الصارم) XHTML;ملاحظة jimr تعليق بشأن علامات ذاتية الإغلاق (مثلا ، <img src="foo" />).

لا, انها ليست بخير.من الناحية النظرية على الأقل.إذا كنت أكتب XHTML الجملة في وثيقة HTML ، انها غير صالحة.المتصفحات من المرجح أن تجعل نفس الطريق ، ولكن انها لا تزال صالحة.بالإضافة الشيء الوحيد صالحة غير صالحة XHTML و HTML الذاتي إغلاق الوسم (<br />).مجرد نتيجة في HTML دون الحاجة إلى إغلاق العلامات لا يعني أنك لا يمكن إغلاقها.يمكنك كتابة العلامات مثل هذا:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo. Quisque posuere nisl ac libero dictum posuere. Suspendisse in magna neque. Donec et vestibulum sapien. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed at nulla dui.</p>

<img src="" alt="">

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent at enim sit amet urna placerat porttitor ut quis justo.</p>

ترى ؟ إنه HTML صالحة, و تبدو جيدة.

راجع للشغل: قراءة هذا.

<DOCTYPE> هو ترك أكثر من SGML و يجب أن لا تظهر إلا مرة واحدة في أعلى المستند.إضافة أخرى DOCTYPE الإعلانات داخل المستند سيكون انتهاكا كل من HTML و XHTML--على الرغم من أن معظم المتصفحات ربما يغفر لك.

إذا كنت يجب أن تستخدم على حد سواء في الصفحة ، ربما وضع وثيقة متداخلة في IFRAME سيكون أكثر اتساقا مع المعايير منذ IFRAMEs بالتعريف البيت نافذة منفصلة/الوثيقة السياق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top