代码之家  ›  专栏  ›  技术社区  ›  opensas

css-去掉跨距之间的空格

  •  37
  • opensas  · 技术社区  · 16 年前

    我想每个标签的宽度是根据文本长度设置的(也就是说,没有固定的宽度),并在它超过屏幕宽度时自动换行。

    我几乎做到了:

    <html>
    <head>
    
    <style type="text/css">
        #myTabs .tab {
        float: left;
        }
    
        #myTabs .tab_middle {
            margin: 0;
            padding: 0;
            border: none;
        background-image:url('images/tabs/tab_middle.png');
        }
    
        #myTabs .tab_left {
            margin: 0;
            padding: 0;
            border: none;
            background-image:url('images/tabs/tab_left.png');
        }
    
        #myTabs .tab_right {
            margin: 0;
            padding: 0;
            border: none;
        background-image:url('images/tabs/tab_right.png');
        }
    
    </style>
    
    </head>
    
    <body>
    
    <div id="myTabs">
      <div class='tab'>
            <span class='tab_left'>&nbsp;</span>
            <span class='tab_middle'>very very looong</span>
            <span class='tab_right'>&nbsp;</span>
        </div>
      <div class='tab'>
            <span class='tab_left'>&nbsp;</span>
            <span class='tab_middle'>another loooong tab</span>
            <span class='tab_right'>&nbsp;</span>
        </div>
        <div style='clear:both'></div>
    </div>
    
    </body>
    </html>
    

    如你所见,我试过填充、间距和边框,但运气不好。

    编辑:
    我试着用一张小桌子(一排,三排)来代替跨度 <td>

    6 回复  |  直到 6 年前
        1
  •  54
  •   Nikola K. habeebmohammed    13 年前

    <div class='tab'>
      <span class='tab_left'>&nbsp;</span><span class='tab_middle'>very very looong</span><span class='tab_right'>&nbsp;</span>
    </div>
    

    在HTML中,换行符算作空格。

        2
  •  59
  •   Nikola K. habeebmohammed    10 年前

    另外一种方式 其中一个是添加 font-size: 0 到父元素。 我更喜欢这一款,因为它在设计标签时更美观。

    而不是这样:

    <div id="tabs">
        <span id="mytab1">Tab 1</span><span id="mytab2">Tab 2</span><span id="mytab3">Tab 3</span>
    </div>
    

    …我们可以用这个:

    <div id="tabs" style="font-size: 0;">
        <span id="mytab1">Tab 1</span>
        <span id="mytab2">Tab 2</span>
        <span id="mytab3">Tab 3</span>
    </div>
    

    …哪个看起来更好:)

    编辑
    还有一种方法可以去掉空格:添加注释。

    <div id="tabs">
        <span id="mytab1">Tab 1</span><!--
        --><span id="mytab2">Tab 2</span><!--
        --><span id="mytab3">Tab 3</span>
    </div>
    
        3
  •  1
  •   CodeGust    8 年前

    letter-spacing:-10px -对格式的影响较小。

    <div id="tabs" style="letter-spacing:-10px;">
        <span id="mytab1" style="letter-spacing:1px;">Tab 1</span>
        <span id="mytab2" style="letter-spacing:1px;">Tab 2</span>
        <span id="mytab3" style="letter-spacing:1px;">Tab 3</span>
    </div>
    

    多亏了我才有这个主意 this answer

        4
  •  0
  •   Cheddar    16 年前

    很难测试没有图像,但我添加了背景色和显示:内联到根选项卡。请试试这个:

    <html>
    <head>
    
    <style type="text/css">
        #myTabs .tab {
            float: left;
            display:inline;
        }
    
        #myTabs .tab_middle {
            margin: 0;
            padding: 0;
            border: none;
        background-image:url('images/tabs/tab_middle.png');
        }
    
        #myTabs .tab_left {
            margin: 0;
            padding: 0;
            border: none;
            background-image:url('images/tabs/tab_left.png');
        }
    
        #myTabs .tab_right {
            margin: 0;
            padding: 0;
            border: none;
        background-image:url('images/tabs/tab_right.png');
        }
    
    </style>
    
    </head>
    
    <body>
    
    <div id="myTabs">
      <div class='tab' style="background-color:Red;">
            <span class='tab_left'>&nbsp;</span>
            <span class='tab_middle'>very very looong</span>
            <span class='tab_right'>&nbsp;</span>
        </div>
      <div class='tab' style="background-color:Green;">
            <span class='tab_left'>&nbsp;</span>
            <span class='tab_middle'>another loooong tab</span>
            <span class='tab_right'>&nbsp;</span>
        </div>
        <div style='clear:both'></div>
    </div>
    
    </body>
    </html>
    
        5
  •  0
  •   BigChrisDiD    16 年前

        6
  •  0
  •   dakab    9 年前

    另一种选择是使用一个表,其中 border-collapse: collapse; 财产。