如何清除a标签或者span标签之间的默认留白间距

即使使用 *{margin: 0;padding: 0;} 这样的代码重置了浏览器默认样式

类似<a>标签这种inline-block元素,它们之间还是存在着留白和间距。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <link rel="stylesheet" href="lib/swiper.min.css">
    <style>
        *{margin:0;padding:0;box-sizing:border-box;}
        html,body{width:100%;height:100%;}
        a{text-decoration:none;}
        .swiper-container,.swiper-wrapper,.swiper-slide img{width:100%;}
        .tabs{position: fixed;left:0;bottom:0;height:45px;line-height:45px;background:#fff;color:#333;z-index:999;width:100%;border-top:1px solid #ccc;}
        .tabs a{display: inline-block;width:25%;text-align: center;color:#333;font-size:14px;transition:all .5s;}
        .tabs a:nth-child(1){background:pink;}
        .tabs a:nth-child(2){background:lightblue;}
        .tabs a:nth-child(3){background:#cce;}
        .tabs a:nth-child(4){background:lightgreen;}
        .tabs a.active{font-size:16px;color:red;}
        /*a{-webkit-tap-highlight-color: rgba(255, 255, 255, 0);-webkit-user-select: none;-moz-user-focus: none;-moz-user-select: none;}*/
    </style>
</head>
<body>
    <div class="swiper-container">
        <div class="swiper-wrapper">
            <div class="swiper-slide"><img src="image/003.png"></div>
            <div class="swiper-slide"><img src="image/002.png"></div>
            <div class="swiper-slide"><img src="image/001.png"></div>
            <div class="swiper-slide"><img src="image/004.png"></div>
        </div>

        <div class="tabs">
            <a href="#" class="active">课程</a>
            <a href="#">下载</a>
            <a href="#">发现</a>
            <a href="#">我的</a>
        </div>        

    </div>

    <script src="lib/jquery-1.11.3.min.js"></script>
    <script src="lib/swiper.min.js"></script>
    <script>
        var swiper = new Swiper(‘.swiper-container‘, {
           on:{
                   //动画结束时获取当前索引
                slideChangeTransitionStart: function(){
                    var index=this.activeIndex;
                    tabActive(index);// 切换时更新tab样式
                },
            },
        });

        //点击tab切换轮播图
        $(".tabs a").on("click",function(e){
            e.preventDefault();//阻止默认事件
            var index=$(this).index();//获取当前点击的索引
            tabActive(index);// 切换时更新tab样式
            swiper.slideTo(index);//切换对应的轮播图
        });

        //更新tab样式
        function tabActive(index){
            $(".tabs a").removeClass("active");
            $(".tabs a").eq(index).addClass("active");
        }

    </script>
</body>
</html>

有四种方法可以消除间距:

1、父元素设置font-size:0,子元素设置具体的font-size。

这也是最最推荐的方法

.demo1{
    font-size: 0;
}
.demo1 a{
    font-size: 14px;/*这里一定要设置,不然文本内容将不显示*/
}

2、把这些a标签元素或者span标签元素写在一行

但是考虑到代码的可读性,这种方法建议谨慎使用!

3、设置float浮动

这种方法会对原来的布局造成影响,所以,如果要采用这种方法,要考虑到对布局的影响。

4、修改父元素和子元素的letter-spacing

.demo3{
    letter-spacing: -999px;
}
.demo3 a{
    letter-spacing: 0;
}

该方法兼容性良好可以使用。

我就用最推荐的第一种方法修改下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
    <link rel="stylesheet" href="lib/swiper.min.css">
    <style>
        *{margin:0;padding:0;box-sizing:border-box;}
        html,body{width:100%;height:100%;}
        a{text-decoration:none;}
        .swiper-container,.swiper-wrapper,.swiper-slide img{width:100%;}
        .tabs{position: fixed;left:0;bottom:0;height:45px;line-height:45px;background:#fff;color:#333;z-index:999;width:100%;border-top:1px solid #ccc;font-size:0;}
        .tabs a{display: inline-block;width:25%;text-align: center;color:#333;font-size:14px;transition:all .5s;}
        .tabs a:nth-child(1){background:pink;}
        .tabs a:nth-child(2){background:lightblue;}
        .tabs a:nth-child(3){background:#cce;}
        .tabs a:nth-child(4){background:lightgreen;}
        .tabs a.active{font-size:16px;color:red;}
        /*a{-webkit-tap-highlight-color: rgba(255, 255, 255, 0);-webkit-user-select: none;-moz-user-focus: none;-moz-user-select: none;}*/
    </style>
</head>
<body>
    <div class="swiper-container">
        <div class="swiper-wrapper">
            <div class="swiper-slide"><img src="image/003.png"></div>
            <div class="swiper-slide"><img src="image/002.png"></div>
            <div class="swiper-slide"><img src="image/001.png"></div>
            <div class="swiper-slide"><img src="image/004.png"></div>
        </div>

        <div class="tabs">
            <a href="#" class="active">课程</a>
            <a href="#">下载</a>
            <a href="#">发现</a>
            <a href="#">我的</a>
        </div>        

    </div>

    <script src="lib/jquery-1.11.3.min.js"></script>
    <script src="lib/swiper.min.js"></script>
    <script>
        var swiper = new Swiper(‘.swiper-container‘, {
           on:{
                   //动画结束时获取当前索引
                slideChangeTransitionStart: function(){
                    var index=this.activeIndex;
                    tabActive(index);// 切换时更新tab样式
                },
            },
        });

        //点击tab切换轮播图
        $(".tabs a").on("click",function(e){
            e.preventDefault();//阻止默认事件
            var index=$(this).index();//获取当前点击的索引
            tabActive(index);// 切换时更新tab样式
            swiper.slideTo(index);//切换对应的轮播图
        });

        //更新tab样式
        function tabActive(index){
            $(".tabs a").removeClass("active");
            $(".tabs a").eq(index).addClass("active");
        }

    </script>
</body>
</html>

原文地址:https://www.cnblogs.com/chenyingying0/p/12528032.html

时间: 2024-08-01 03:07:42

如何清除a标签或者span标签之间的默认留白间距的相关文章

CSS:如何清除a标签之间的默认留白间距

即使我们使用了类似 *{margin: 0;padding: 0;} 这样的代码重置了浏览器默认样式,也会发现类似<a>标签这种inline-block元素,它们之间也还存在着间距. demo:默认情况 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <!DOCTYPE html> <html lang="en"> <head>     <meta charse

img标签与span一起使用不在同一条线上

布局时 img标签与span标签在同一行是不能垂直,解决办法:在 img标签添加一个 vertical-align:middle; 即 <!-- img与span的文字与图片保持同一条水平线 在img中添加vertical-align:middle;--> <div> <img style="width: 50px;height: auto;vertical-align:middle;" src='../images/x_02.png'/> <

span标签之间的空隙

出现的问题: 在html中,当有两个以及两个以上的span标签并列的时候,如果任意两个span之间换行书写的话,那么他们在页面上展现的时候往往会有空隙 解决的办法有两个: 1.将两个span标签写在同一行 2.给span标签添加float

HTML &lt;span&gt; 标签

定义和用法 <span> 标签被用来组合文档中的行内元素. HTML 与 XHTML 之间的差异 NONE 提示和注释: 提示:请使用 <span> 来组合行内元素,以便通过样式来格式化它们. 注释:span 没有固定的格式表现.当对它应用样式时,它才会产生视觉上的变化. 例子 <p><span>some text.</span>some other text.</p> 例子解释 如果不对 span 应用样式,那么 span 元素中的

C# 清除文本中的HTML标签

/// <summary>          /// 清除文本中Html的标签          /// </summary>          /// <param name="Content"></param>          /// <returns></returns>          public static string ClearHtml(string Content)          { 

(前端)html与css,8、div和span标签

1.div和span的认识 通常称为"盒子" div是大的范围,span是小的范围 div:division,范围.区域.分割,并没有什么特殊语义,经常用来布局. div里经常放置一些具有某些特殊功能.相似类型的标签,这就是布局过程. div是一个典型的容器级标签,可放置任何的标签. span:小区域.小跨度.常用于小范围调整布局. span在p标签内:一般认为p>span>p 2.简单的div+css布局 最开始使用表格布局,结构和样式不分离. div+css:结构和样式

清除文本中Html的标签

/// <summary> /// 清除文本中Html的标签 /// </summary> /// <param name="Content"></param> /// <returns></returns> protected string ClearHtml(string Content) { Content = ReplaceHtml("&#[^>]*;", "&q

HTML 5 &lt;span&gt; 标签

标签定义及使用说明 <span> 用于对文档中的行内元素进行组合. <span> 标签没有固定的格式表现.当对它应用样式时,它才会产生视觉上的变化.如果不对 <span> 应用样式,那么 <span> 元素中的文本与其他文本不会任何视觉上的差异. <span> 标签提供了一种将文本的一部分或者文档的一部分独立出来的方式. 举例说明 <!DOCTYPE html> <html> <head>  <meta 

使用&lt;span&gt;标签为文字设置单独样式

这一小节讲解<span>标签,我们对<em>.<strong>.<span>这三个标签进行一下总结: 1. <em>和<strong>标签是为了强调一段话中的关键字时使用,它们的语义是强调. 2. <span>标签是没有语义的,它的作用就是为了设置单独的样式用的. 如果现在我们想把上一小节的第一段话“美国梦”三个字设置成blue(蓝色),但注意不是为了强调“美国梦”,而只是想为它设置和其它文字不同的样式(并不想让屏幕阅读器