代码之家  ›  专栏  ›  技术社区  ›  Steve Kuo

使用css的最小包围文本边框

  •  3
  • Steve Kuo  · 技术社区  · 17 年前

    如何使用CSS和HTML完成此操作?

    1. 带边框的文本,由彩色边框包围
    2. 带边框文本的边框最小限度地环绕文本
    3. 带边框的文本具有最大宽度
    4. 带边框文本的边框不与相邻元素重叠

    渲染时,应如下所示:

    alt text http://i29.tinypic.com/e026v4.png

    对于我使用的边界:

    padding: 1.0em;
    border-style: solid;
    border-width: 2px;
    background-color: #FFFFCC;
    border-color:#E8E800;
    

    如果我将CSS应用于 <p> ,则边框与浏览器窗口一样宽。我希望边框仅与文本一样宽(取决于文本大小的变量),因此使用 width 不起作用。我试过 display:inline 但是那个 causes spacing issues with neighboring elements . 我还尝试将上述CSS应用于 <span> 包含在 <P & GT; 但当文本太长且换行时,这不起作用。

    alt text http://i25.tinypic.com/11jaxw5.png

    5 回复  |  直到 17 年前
        1
  •  1
  •   Mayo    17 年前

    您尝试过使用名为float的css属性吗?指定float:left会使包含元素的宽度调整为文本-这看起来像是一个次要的效果,但它是有效的。

    如果不想让包含元素排成一行, 您可以添加标签或 您可以在样式中添加“clear:both;”。

    我肯定认为这是可以实现的-你只需要找到属性/值的正确组合。

        2
  •  1
  •   brianreavis    17 年前

    通过使突出显示的段落作为块元素向左浮动,可以使突出显示的段落最小限度地围绕文本。( <p> 默认为)。然后,让段落 clear:left 以防止它们水平堆叠。

    CSS:

    .pars {
        /* this is used to prevent the last floating element 
        from causing issues below the paragraph (.pars) container */
        width: 100%;
        overflow: visible;
    }
    .pars p {
        clear: left;
        margin: 0 0 0.5em 0;
    }
    .pars .highlighted {
        float: left;
        padding: 1.0em;
        border-style: solid;
        border-width: 2px;
        background-color: #FFFFCC;
        border-color:#E8E800;
    }
    

    您的HTML:

    <div class="pars">
       <p>Some paragraph text</p>
       <p class="highlighted">Some bordered text</p>
       <p class="highlighted">Some more bordered text</p>
       <p>Some very long bordered text blah blah blah 
       blah blah blah blah blah blah blah blah blah blah</p>
    </div>
    
        3
  •  1
  •   JSBÕ±Õ¸Õ£Õ¹    17 年前

    只要添加

    p.highlighted {
        float: left;
    }
    
    p {
        clear: both;
    }
    

    这将使突出显示的段落的宽度仅与文本要求的宽度相同,并确保现有段落不会与突出显示的段落水平重叠。

        4
  •  0
  •   Badfish    17 年前

    对我来说就像一张桌子…哦,我可以看到评论和投票已经开始了。”表格仅用于表格数据“…是的,我知道,但他们也是一个做史蒂夫想做的事情的第二种方式。

        5
  •  0
  •   easement    17 年前

    显示:内联块怎么样?