首頁  >  問答  >  主體

html5 - css3 线性渐变实现间断线条效果


上图是我现做出来的效果!但是这个效果和我想要的还有差别,对比下面我要的效果图

我使用线性渐变做的,可是渐变带有渐变效果,有没有某种技巧让中间个文字交接的地方没有渐变效果呢?
css代码:

hr {
                text-align:center;
                box-sizing: content-box;
                height: 1px;
                border: 0;
                /*border-top: 1px solid #808080;*/
                width: 90%;
                margin-bottom: 20px;
                background-image: linear-gradient(to right,#808080,#808080, rgba(0, 0, 0, 0),rgba(0, 0, 0, 0),#808080, #808080);
            }
            
            hr.style-eight:after {
                content: "第三方登陆";
                display: inline-block;
                position: relative;
                top: -0.7em;
                color: #808080;
                /*background-color: #1D263B;*/
                padding: 0 10px;
            }

html代码:

<hr class="style-eight">
怪我咯怪我咯2764 天前548

全部回覆(5)我來回復

  • ringa_lee

    ringa_lee2017-04-17 13:32:33

    如果你的焦點在linear-gradient上,可以這樣寫,不需要用偽元素
    background-image: linear-gradient(to right, #fb3 40%, #58a 0,#58a 60% , #fb3 0);

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 13:32:33

    使用偽元素:after :before

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 13:32:33

    不加漸變不就沒有了

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 13:32:33

    為啥要執著於漸變,直接用一條長線,中間那個「第三方登入」搞個方塊p,背景色調成和後面背景色一樣的,把線段中間蓋住不就行了。

    回覆
    0
  • PHPz

    PHPz2017-04-17 13:32:33

    我最後的解決方法:
    點選查看
    html程式碼:

    <p class="style-eight">
                        第三方登陆
                    </p>

    css代碼:

    .style-eight {
                    box-sizing: content-box;
                    margin-bottom: 20px;
                }
                
                .style-eight:after {
                    content: "";
                    display: inline-block;
                    position: relative;
                    top: -6px;
                    padding: 0 10px;
                    width: 20%;
                    height: 1px;
                    background-image: linear-gradient(to right, #808080, #808080);
                }
                
                .style-eight:before {
                    content: "";
                    display: inline-block;
                    position: relative;
                    top: -6px;
                    padding: 0 10px;
                    width: 20%;
                    height: 1px;
                    background-image: linear-gradient(to right, #808080, #808080);
                }

    回覆
    0
  • 取消回覆