代码之家  ›  专栏  ›  技术社区  ›  Coding Duchess

存在空格时,进度条标签显示不正确

  •  0
  • Coding Duchess  · 技术社区  · 7 年前

    我有一个进度条:

    <div class="progress">
        <div class="circle done">
                <span class="label">1</span>
                <span class="title">One Two Three</span>
        </div>
        <span class="bar done"></span>
        <div class="circle done">
                <span class="label">2</span>
                <span class="title">OneTwoThree</span>
        </div>
        <span class="bar half"></span>
        <div class="circle active">
                <span class="label">3</span>
                <span class="title">OneTwoThreeFour</span>
        </div>
        <span class="bar"></span>
        <div class="circle">
                <span class="label">4</span>
                <span class="title">Five Six Seven</span>
        </div>
    
    </div>
    

    使用以下css

     *, *:after, *:before {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: "Open Sans";
    }
    
        .progress {
        width: 1000px;
        margin: 20px auto;
        text-align: center;
    }
    .progress .circle,
    .progress .bar {
        display: inline-block;
        background: #fff;
        width: 40px; height: 40px;
        border-radius: 40px;
        border: 1px solid #d5d5da;
    }
    .progress .bar {
        position: relative;
        width: 80px;
        height: 6px;
        top: -33px;
        margin-left: -5px;
        margin-right: -5px;
        border-left: none;
        border-right: none;
        border-radius: 0;
    }
    .progress .circle .label {
        display: inline-block;
        width: 32px;
        height: 32px;
        line-height: 32px;
        border-radius: 32px;
        margin-top: 3px;
        color: #b5b5ba;
        font-size: 17px;
    }
    .progress .circle .title {
        color: #b5b5ba;
        font-size: 13px;
        line-height: 30px;
        margin-left: -5px;
    }
    
    /* Done / Active */
    .progress .bar.done,
    .progress .circle.done {
         background: #eee;
    }
    .progress .bar.active {
        background: linear-gradient(to right, #EEE 40%, #FFF 60%);
    }
    .progress .circle.done .label {
        color: #FFF;
        background: #8bc435;
        box-shadow: inset 0 0 2px rgba(0,0,0,.2);
    }
    .progress .circle.done .title {
            color: #444;
        }
        .progress .circle.active .label {
            color: #FFF;
            background: #0c95be;
            box-shadow: inset 0 0 2px rgba(0,0,0,.2);
        }
        .progress .circle.active .title {
            color: #0c95be;
        }
    

    2 回复  |  直到 7 年前
        1
  •  2
  •   HeWi    7 年前

    将nowrap添加到title元素。它迫使所有的单词都排在一行。

    .progress .circle .title {
        white-space: nowrap;
    }
    
        2
  •  1
  •   Aniruddh Agarwal    7 年前

    *, *:after, *:before {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: "Open Sans";
    }
    
        .progress {
        width: 1000px;
        margin: 20px auto;
        text-align: center;
    }
    .progress .circle,
    .progress .bar {
        display: inline-block;
        background: #fff;
        width: 40px; height: 40px;
        border-radius: 40px;
        border: 1px solid #d5d5da;
    }
    .progress .bar {
        position: relative;
        width: 80px;
        height: 6px;
        top: -33px;
        margin-left: -5px;
        margin-right: -5px;
        border-left: none;
        border-right: none;
        border-radius: 0;
    }
    .progress .circle .label {
        display: inline-block;
        width: 32px;
        height: 32px;
        line-height: 32px;
        border-radius: 32px;
        margin-top: 3px;
        color: #b5b5ba;
        font-size: 17px;
    }
    .progress .circle .title {
        color: #b5b5ba;
        font-size: 13px;
        line-height: 30px;
        margin-left: -5px;
        white-space: nowrap
    }
    
    /* Done / Active */
    .progress .bar.done,
    .progress .circle.done {
         background: #eee;
    }
    .progress .bar.active {
        background: linear-gradient(to right, #EEE 40%, #FFF 60%);
    }
    .progress .circle.done .label {
        color: #FFF;
        background: #8bc435;
        box-shadow: inset 0 0 2px rgba(0,0,0,.2);
    }
    .progress .circle.done .title {
            color: #444;
        }
        .progress .circle.active .label {
            color: #FFF;
            background: #0c95be;
            box-shadow: inset 0 0 2px rgba(0,0,0,.2);
        }
        .progress .circle.active .title {
            color: #0c95be;
        }
    }
    <div class="progress">
        <div class="circle done">
                <span class="label">1</span>
                <span class="title">One Two Three</span>
        </div>
        <span class="bar done"></span>
        <div class="circle done">
                <span class="label">2</span>
                <span class="title">OneTwoThree</span>
        </div>
        <span class="bar half"></span>
        <div class="circle active">
                <span class="label">3</span>
                <span class="title">OneTwoThreeFour</span>
        </div>
        <span class="bar"></span>
        <div class="circle">
                <span class="label">4</span>
                <span class="title">Five Six Seven</span>
        </div>
    
    </div>