CSS Zigzag Border with a Textured Background

前端 未结 3 1126
旧巷少年郎
旧巷少年郎 2020-12-02 23:54

I\'ve been working on a header with a zigzag border. One way to do this is to use images to make the zigzag effect.

(1) Is there any way to create a practica

3条回答
  •  余生分开走
    2020-12-03 00:47

    (In modern browsers) you can use SVGs to create simple drawings, and use them as CSS background images embedded as data URI.

    Here is what the SVGs look like:

    body {
      background: #888;
    }
    
      
    
    
      
    
    
      
    
    
      
    

    Example 1:

    .zigzag-outside {
      position: relative;
      margin-top: 4px;
      margin-bottom: 4px;
      background-color: #CC0000;
      /* example content */
      padding: 1em;
      font: bold medium sans-serif;
      color: #FFFFFF;
    }
    .zigzag-outside:before {
      content: "";
      position: absolute;
      top: -4px;
      left: 0;
      right: 0;
      height: 4px;
      /* red up pointing triangle */
      background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228px%22%20height%3D%224px%22%3E%3Cpolygon%20points%3D%220%2C4%204%2C0%208%2C4%22%20fill%3D%22%23CC0000%22%2F%3E%3C%2Fsvg%3E");
    }
    .zigzag-outside:after {
      content: "";
      position: absolute;
      bottom: -4px;
      left: 0;
      right: 0;
      height: 4px;
      /* red down pointing triangle */
      background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228px%22%20height%3D%224px%22%3E%3Cpolygon%20points%3D%220%2C0%204%2C4%208%2C0%22%20fill%3D%22%23CC0000%22%2F%3E%3C%2Fsvg%3E");
    }
    Example 1

    Example 2:

    .zigzag-inside {
      position: relative;
      /* example content */
      width: 600px;
      height: 100px;
      background-image: url(http://i.stack.imgur.com/uOVfl.jpg);
    }
    .zigzag-inside:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      /* white down pointing triangle */
      background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228px%22%20height%3D%224px%22%3E%3Cpolygon%20points%3D%220%2C0%204%2C4%208%2C0%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E");
    }
    .zigzag-inside:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 4px;
      /* white up pointing triangle */
      background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228px%22%20height%3D%224px%22%3E%3Cpolygon%20points%3D%220%2C4%204%2C0%208%2C4%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E");
    }

提交回复
热议问题