html – 删除不必要的边距并使用CSS调整高度

我正在尝试解决两个问题,但无法找到解决方

一个是li场之间的空间比2px宽得多.我该如何删除它?

另外一个是a字段只有文本高,尽管字段高度定义为50px.

我还从GitHub启用了normalize.css文件.

有什么建议?

HTML

<nav class="nav-Box">
    <div class="row">
        <ul class="main-nav">
            <li><a href="#">YES</a></li>
            <li><a href="#">NO</a></li>
        </ul>
    </div>
</nav>

CSS

.row {
    max-width: 1140px;
    margin: 0 auto;
}
.nav-Box {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    Box-shadow: 0 2px 2px #f2f2f2;
    min-height: 65px;
}
.main-nav {
    float: right;
    margin-top: 7px;
}
.main-nav li {
    list-style: none;
    display: inline-block;
    font-size: 100%;
}
.main-nav li a {
    height: 50px;
    background-color: #ee4723;
    padding: 0 18px 0 18px;
    font-size: 1.4rem;
    color: #fff;
    font-family:'Oswald',sans-serif;
    border:solid #fff;
    border-width: 0 1px 1px 0;
    line-height: 54px;
}

这是一个fiddle.

解决方法

对于间距问题

这是内联块元素的问题(两个这样的元素之间出现额外的间距).解决此问题的一种方法是将父元素(在本例中为< ul>)字体大小设为0,然后设置< li>的字体大小.元素明确.还有其他方法,如负边距,但我发现font-size:0方法是最方便的.
你可以在这里阅读其他方法https://css-tricks.com/fighting-the-space-between-inline-block-elements/

对于高度问题

虽然您已将内联块属性赋予< li>元素,孩子< a>元素仍然是内联的.高度和宽度等属性对内联元素没有影响.将显示:inline-block添加到< a>元素以及所需的效果

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些