【问题标题】:CSS3 / SVG SeparatorCSS3 / SVG 分隔符
【发布时间】:2019-05-23 10:01:58
【问题描述】:

我正在尝试使用 svg 或纯 css3 制作标题分隔符,如下所示: preview from design

在标题中我有标准引导程序 4 轮播

<section class="slider">
        <div id="carousel" class="carousel slide carousel-fade" data-ride="carousel">
            <div class="carousel-inner">
                <div class="carousel-item active" style="background-image:url(images/20180818_STP501.jpg);">
                    <div class="container position-relative h-100">
                        <div class="carousel-container">
                            <div class="carousel-content">
                                <h2>Consectetuer adipiscing elit,<br/>diam nibh euismod tincidunt</h2>
                                <p>Enim ad veniam, ullamcorper<br/>suscipit aliquip commodo</p>
                                <div class="mt-5">
                                    <a href="#">Euismod</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="carousel-item" style="background-image:url(images/20180818_STP501.jpg);">
                    <div class="container position-relative h-100">
                        <div class="carousel-container">
                            <div class="carousel-content">
                                <h2>Consectetuer adipiscing eli,<br/>diam nibh euismod tincidunt</h2>
                                <p>Enim ad veniam, ullamcorper<br/>suscipit aliquip commodo</p>
                                <div class="mt-5">
                                    <a href="#">Euismod</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <a class="carousel-control-prev" href="#carousel" role="button" data-slide="prev">
                <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                <span class="sr-only">Previous</span>
            </a>
            <a class="carousel-control-next" href="#carousel" role="button" data-slide="next">
                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
            </a>
        </div>
    </section>

边框半径工作正常,但我在底部标题中需要很少的圆形分隔符。它可能用css3制作吗?还是需要 svg 形状?

【问题讨论】:

    标签: css svg separator divider


    【解决方案1】:

    我希望这就是您要问的:在下一个示例中,我使用clip-path 来剪辑标题。请注意,我使用的路径的边界框为 1/1 和 clipPathUnits="objectBoundingBox"

    MDN 引用:该值表示元素内部的所有坐标都相对于应用剪切路径的元素的边界框。即坐标系的原点是物体边界框的左上角,物体边界框的宽度和高度被认为是长度为1个单位的值。

    #header {
      padding: 0;
      background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/222579/castell.jpg);
      background-size: cover;
      height: 50vh;
      -webkit-clip-path: url(#clip);
      clip-path: url(#clip);  
    }
    <svg height="0" width="0" class="svg-clip" style="position:absolute">
        <defs>
             <clipPath id="clip" clipPathUnits="objectBoundingBox">
               <path d="M0,0L0,.5 A.6,.6 0 0 0 1,.5L1,0z" />
            </clipPath>
        </defs>
    </svg>
     
    <div id="header"></div>

    【讨论】:

    • 它的工作完美。但是路径有一些白色背景。可能调整 svg 路径的大小?我的标头有 80vh 高度,我对小曲线的路径进行了更改,例如 M0,0L0,.6 A.5,.1 0 0 0 1,.5L1,0z。现在我需要让白色背景变小http://prntscr.com/nsci49
    • 我没有填充,这个空白添加了 svg 元素。对不起,也许我不明白你,什么是图像不足?
    • 请检查您的代码并删除多余的边距和填充。您可以链接到 codepen 或 jsfiddle 示例吗?
    • 是的,这里有我所有的 css 和 html https://codepen.io/Elexer/pen/arqEZo
    • 我觉得没问题。你不喜欢它的什么?
    猜你喜欢
    • 2015-10-30
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 2012-02-28
    • 2023-03-23
    • 2012-08-20
    • 2016-11-02
    • 1970-01-01
    相关资源
    最近更新 更多