gpt4 book ai didi

html - 如何创建没有 "display:inline;"或 "float:left;"的水平列表? (或任何其他可能适用于此的修复)

转载 作者:行者123 更新时间:2023-11-28 07:17:04 25 4
gpt4 key购买 nike

我正在尝试获取链接列表以保留在带边框的框中。使用 display:inline; 会导致链接框看起来很奇怪。这是现在的样子

https://jsfiddle.net/9jtxjb1s/4/

代码:HTML

<body>
<div class="gridContainer clearfix">
<div id="LayoutDiv1">
<div id="container">
<header>
<h1>Heading 1</h1>
<h2>Heading 2</h2>
</header>
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="link1.html">Link 1</a>
<ul>
<li><a href="gallery1.html">Gallery</a></li>
</ul>
</li>
<li><a href="link2.html">Link 2</a>
<ul>
<li><a href="gallery2.html">Gallery</a></li>
</ul>
</li>
<li><a href="link3.html">Link 3</a>
<ul>
<li><a href="gallery3.html">Gallery</a></li>
</ul>
</li>
<li><a href="link4.html">Link 4</a></li>
</ul>
</nav>

<section>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.</p>
<p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>

</section>
<footer>
<p>&copy; Test</p>
</footer>
</div>
</div>
</div>
</body>

主要的相关样式 css( fiddle 上的 css 的完整副本)

#container{
background:#228b22;
float:left;
border:1px solid #000000;
width:100%;
}

body {
font-family:Arial, Helvetica Neue, Helvetica, sans-serif;
font-size:90%;
margin:20px auto;
text-align:center;
line-height:1.4em;
/* width:98%; */
background:white;
}

header, section, article, footer, nav{
padding:10px 20px 20px;
margin:10px;
/* float:left; */
width:auto;
border:1px solid #000000;
}

header {
display:block;
position:relative;
text-align:left;
}

nav {
/* float:left; */
text-align:center;
display:block;
}

nav ul{
margin-left:15%;
padding:0;
list-style:none;
text-align:center;
}

nav ul li{

float:left;
width:150px;
height:30px;
line-height:30px;
text-align:center;
background:#4ea24e;
border:1px solid #000000;

}

nav ul li a{
text-decoration:none;
color:black;
}

nav ul li li{
background:#4ea24e;
color:#fff;
display:none;
float:left;
margin-left:-17.9%;
}

nav ul li li:hover{
background:#7ab97a;
}

nav ul li li a{
text-decoration:#8A5C2E;
color:#black;
}

ul{
text-align:left;
margin-left:40%;
padding:0;
}

谢谢

最佳答案

float 可以导致容器外的元素;有时您需要添加额外的属性来避免这种行为(例如 floating stuff within a div, floats outside of div. Why? )。关于您的代码,您只需要删除 float 并将元素 display 设置为 inline-block

即:

nav ul li{
display: inline-block;

width:150px;
height:30px;
line-height:30px;
text-align:center;
background:#4ea24e;
border:1px solid #000000;
}

工作演示:http://codepen.io/anon/pen/avogWb

PS:抱歉,我发布了代码笔,我在进入 JSFiddle 网站时遇到问题。

关于html - 如何创建没有 "display:inline;"或 "float:left;"的水平列表? (或任何其他可能适用于此的修复),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32292196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com