【问题标题】:Float "edit" link to right of Heading (must keep heading tag block)将“编辑”链接浮动到标题右侧(必须保留标题标签块)
【发布时间】:2009-10-15 18:45:54
【问题描述】:

给定以下html

<div class="module">           
            <div class="header">
                <h1>Test Heading</h1>
                <a href="">edit</a>
            </div>
            <div class="body">
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis eu lacus at augue tristique dignissim. Nunc vitae porta lorem. Nullam eu nunc sit amet arcu dictum convallis. Vestibulum quis purus quis sem rhoncus imperdiet eget at nisl. Fusce non metus libero, vel viverra purus. Quisque ullamcorper congue risus vel adipiscing. Quisque vehicula ante in quam malesuada at porta diam gravida. Aenean sagittis, ipsum eget egestas malesuada, turpis neque aliquam metus, lobortis congue ligula nisi quis purus. Integer nec dui et elit suscipit ultrices et sit amet enim. Nulla euismod commodo metus, eget luctus urna dignissim in.</p>
            </div>
        </div>

还有下面的css

body { font-family: Helvetica, Arial, "Lucida Sans Unicode", Tahoma, Verdana, Arial, Helvetica, sans-serif; }
            h1 { margin: 0; padding: 0; border-bottom: 3px solid #333333; color: #333333; font-size: 40px; font-weight: normal; letter-spacing: 0; line-height: 1.3em; }

            .module { }
                .module .header h1 { }
                .module .header a { }

我很难弄清楚如何将“编辑”链接浮动到 h1 标签的右侧,但将 h1 标签保留为块元素,以便它有下划线(border-bottom)

谁能给我一些建议……以前做过吗?提前谢谢你

【问题讨论】:

    标签: css css-float html-heading


    【解决方案1】:

    有不同的策略来实现这一点。您可以浮动容器来修复浮动,也可以使用生成的内容来清除浮动。我将尝试用代码解释这两个。对于两者,您都可以保留标记,但需要将下划线从 h1 移动到 .header 类。然后将标题向左浮动,向右编辑并通过浮动 .header 类来修复浮动。这种技术的缺点是依赖于后面的内容,但适用于您的孤立代码:

    h1 {
        margin: 0;
        padding: 0;
        color: #333333;
        font-size: 40px;
        font-weight: normal;
        letter-spacing: 0;
        line-height: 1.3em;
    }
    
    .header { border-bottom: 3px solid #333333; }
    .module .header h1 { float: left; }
    .module .header a { float: right; }
    .module .header { float: left; width: 100%; }
    

    恕我直言,更好的解决方案是使用 CSS 生成的内容来清除相对的浮动,而不是浮动 .header 容器。但请注意,这会在 CSS 能力较差的浏览器版本上造成问题。

    h1 {
        margin: 0;
        padding: 0;
        color: #333333;
        font-size: 40px;
        font-weight: normal;
        letter-spacing: 0;
        line-height: 1.3em;
    }
    
    .header { border-bottom: 3px solid #333333; }
    .header:after { content: "."; display: none; clear: both; }
    .module .header h1 { float: left; }
    .module .header a { float: right; }
    .module .header { width: 100%; }
    

    有关第一种方法的更多信息,请参阅 Eric Meyer 的文章http://www.complexspiral.com/publications/containing-floats/。第二种方法记录在http://www.positioniseverything.net/easyclearing.html

    【讨论】:

      猜你喜欢
      • 2018-02-11
      • 2023-03-21
      • 1970-01-01
      • 2019-07-16
      • 2022-11-04
      • 2021-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多