كيف تتخلص من المساحة البيضاء بين عناصر القائمة الأفقية CSS؟ [مكرر
-
27-09-2019 - |
سؤال
هذا السؤال لديه بالفعل إجابة هنا:
لقد حصلت على صفحة الاختبار التالية و CSS. عند عرضه ، هناك فجوة 4 بكسل بين كل عنصر قائمة. كيف يمكنني الحصول على العناصر لتكون بجانب بعضها البعض؟
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<link type="text/css" rel="stylesheet" href="/stylesheets/test.css" />
</head>
<body>
<div>
<ul class="nav">
<li class="nav"><a class="nav" href="#">One1</a></li>
<li class="nav"><a class="nav" href="#">Two</a></li>
<li class="nav"><a class="nav" href="#">Three</a></li>
<li class="nav"><a class="nav" href="#">Four</a></li>
</ul>
</div>
</body>
</html>
CSS:
ul.nav, ul li.nav {
display: inline;
margin: 0px;
padding: 0px;
}
ul.nav {
list-style-type: none;
}
li.nav {
background-color: red;
}
a.nav {
background-color: green;
padding: 10px;
margin: 0px;
}
a:hover.nav {
background-color: gray;
}
المحلول
تحتاج إلى استخدام display:block
و float:left
على ال li
S لإزالة المساحة. عندما يكونون متضمينًا ، يعاملهم المتصفح ككلمات ، وبالتالي يترك المساحة بينهما.
انظر أيضا سؤالي المماثل.
نصائح أخرى
الجمع بين Skilldrick و Teedyay ولديك إجابتك وشرحك.
إذا <li>
يتم التعامل مع S ككلمات من أي مساحة بيضاء من حولهم يتم تكثيفها إلى مساحة واحدة.
لذلك أعتقد أن هذه ميزة تبدو وكأنها خطأ.
لإزالة المساحة إما وضع كل ما تبذلونه <li>
S في سلسلة بدون مساحة بيضاء بينهما.
أو
قلل من حجم الخط على <ul>
إلى 0 واستعادة الحجم على <li>
س
يمكنك أيضا ضبط font-size:0
ل <ul>
بطاقة شعار.
أخشى أن يكون هذا متسخًا أيضًا ، لكنني سأفاجأ (بسرور) إذا كان هناك حل نظيف لهذا.
ضع كل ما لديك <li>
S على سطر واحد:
<li class="nav"><a class="nav" href="#">One1</a></li><li class="nav"><a class="nav" href="#">Two</a></li><li class="nav"><a class="nav" href="#">Three</a></li><li class="nav"><a class="nav" href="#">Four</a></li>
آسف.