行内块空白解决方案

举下面这个例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
    nav a {
        display: inline-block;
        padding: 5px;
        background: red;
    }
</style>
<body>
<nav>
    <a href="#">One</a>
    <a href="#">Two</a>
    <a href="#">Three</a>
</nav>
</body>
</html>

效果图:


spaces.png

接下来将讨论如何将图片衔接在一起。在导航的情况下,它可以避免小的不可点击的间隙。

一.删除空格

空格产生原因:在元素之间有空格(一个换行符和几个制表符被视为一个空格。
解决方案:

<!--法一-->
<nav>
    <ul>
    <li>
        <a href="#">One</a></li><li>
        <a href="#">Two</a></li><li>
        <a href="#">Three</a></li>
    </ul>
</nav>

<!--法二-->
<nav>
    <ul>
    <li><a href="#">One</a></li
    ><li><a href="#">Two</a></li
    ><li><a href="#">Three</a></li>
    </ul>
</nav>

<!--法三,推荐-->
<nav>
    <ul>
    <li><a href="#">One</a></li><!--
    --><li><a href="#">Two</a></li><!--
    --><li><a href="#">Three</a></li>
    </ul>
</nav>

二.设置负边距

  nav ul li{
        display: inline-block;
        margin-right: -5px;
        background: red;
    } 

在较老的浏览器有问题,但可保持代码格式。

三.跳过结束标记

<nav>
    <ul>
    <li><a href="#">One</a>
    <li><a href="#">Two</a>
    <li><a href="#">Three</a>
    </ul>
</nav>

虽然有效,但看着很奇怪。

四.直接用float实现

 ul {
        position: relative;
        left: 50%;
        top: 0;
        padding: 0;
        margin: 0 auto;
        display: block;
        float: left;
        clear: right;
        list-style: none;
        background: red;
    }
    li {
        position: relative;
        right: 50%;
        top: 0;
        padding: 10px;
        display: block;
        float: left;
        border: 1px solid black;
    }
    body {
        padding: 20px 0 50px 0;
        background: pink;
        border: 20px solid white;
    }

五。直接用flexbox实现

    nav ul{
        display: flex;
        padding: 5px;
    }
    li{
        list-style: none;
        background: slategrey;
        display: inline-block;
        /* inline block hack for IE 6&7 */
        zoom: 1;
        *display: inline;
        padding: 4px;
        color: white
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,221评论 0 13
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,356评论 2 66
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,310评论 1 44
  • 今天周五,下午三点半儿子放学。爷爷在校门口等到快四点不见他的身影,给我打电话。因为四点钟有一节英语课,眼看要迟到了...
    莹莹_97cc阅读 334评论 0 0
  • 今天把第三章 “品牌广告如何做出实效” 粗粗读完了,有以下几点有一些感触 1.细节决定成败。书中在举例子的时候,拿...
    YummySoup阅读 196评论 0 0