Create a bell shape with CSS

前端 未结 3 1921
被撕碎了的回忆
被撕碎了的回忆 2021-02-04 15:19

I am playing with shapes in css and want to make a traditional bell shape (think Christmas bell). Here\'s the general shape that I\'m going for (though I really don\'t care abo

相关标签:
3条回答
  • 2021-02-04 16:00

    Have a look at this one,

    jsFiddle DEMO

    result shape

    css

      #bell {
        left:300px;
        top:20px;
        position: relative;
    }
    #bell:before, #bell:after {
        position: absolute;
        line-height:0;
        content:"\2315";
        color:#d3d3d3;
        font-size:100pt;
        text-indent:30px;
        top: 0;
        width: 180px;
        height:300px;
        background: #d3d3d3;
    }
    #bell:before {
        left: 50px;
        border-radius: 150px 150px 20px 30px;
        -webkit-transform: rotate(15deg);
        -webkit-transform-origin: 0 0;
        transform: rotate(15deg);
        transform-origin: 0 0;
        background: radial-gradient(-50px 250px, 300px 1200px, transparent 20%, #d3d3d3 20%);
        background: -webkit-radial-gradient(-50px 250px, 300px 1200px, transparent 20%, #d3d3d3 20%);
    }
    #bell:after {
        left: 0;
        -webkit-transform: rotate(-15deg);
        -webkit-transform-origin:100% 0;
        transform: rotate(-15deg);
        transform-origin:100% 0;
        border-radius: 150px 150px 30px 20px;
        background: radial-gradient(230px 250px, 300px 1200px, transparent 20%, #d3d3d3 20%);
        background: -webkit-radial-gradient(230px 250px, 300px 1200px, transparent 20%, #d3d3d3 20%);
        line-height:550px;
        content:"\25CF";
        color:#d3d3d3;
        font-size:130pt;
        text-indent:-15px;
    }
    

    ya its not exactly same as in the question, but came close.

    EDITED

    jsFiddle DEMO

    enter image description here

    0 讨论(0)
  • 2021-02-04 16:10

    You can work out the size of your bell in Illustrator (I drew one for you), but here's your proof of concept, as a background-image in CSS.

    http://jsfiddle.net/itsmikem/Rs6aa/

    0 讨论(0)
  • 2021-02-04 16:20

    I tryed to help you, with your way (Yes, It's hard!) and that the best I got:

    http://jsfiddle.net/NeBtU/1/

    #bell { 
        left:100px;
        position: relative;
    }
    #bell:before, #bell:after {
        position: absolute;
        content: "";
        left: 50px; top: 0;
        width: 320px;
        height:400px;
        background: #d3d3d3;
        border-radius: 150px 150px 150px 20px;
        -webkit-transform: rotate(15deg);
        -webkit-transform-origin: 0 0;
    }
    #bell:after { 
        left: 0; 
        -webkit-transform: rotate(-15deg); 
        -webkit-transform-origin:100% 0;
        border-radius: 150px 150px 20px 150px;
    
        line-height:740px;
        content:"\25CF";
        color:#d3d3d3;
        font-size:200pt;
    }
    
    0 讨论(0)
提交回复
热议问题