如何使用css3和html5制作具有不规则形状的div?

Raf*_*ath 14 html5 css3 css-shapes

我想知道是否有可能建立不规则形状的div,类似于此(例如格陵兰,欧洲,非洲).我想使用CSS3和HTML5创建这里的地图.

这是示例图像的链接:

Ana*_*Ana 36

你有什么看起来像一个网格,你可以在div上获得许多渐变,或者使用许多div的网格,你应用CSS变换(DEMO).

HTML:

<div class='container'>
    <div class='grid'>
        <div class='grid-row'>
            <div class='grid-cell'></div>
            <div class='grid-cell high'></div>
<!-- and so on... -->
Run Code Online (Sandbox Code Playgroud)

CSS:

div { box-sizing: border-box; }
.container {
    overflow: hidden;
    width: 32em;
    height: 32em;
    margin: 5.6em auto 0;
    background: silver;
}
.grid {
    transform: skewX(-45deg) 
        rotate(15deg) 
        scaleX(1.785) scaleY(.8)
        translateX(-4.5em) translateY(-3em);
}
.grid-row {
    width: 32em;
    height: 2em;
}
.grid-cell {
    float: left;
    width: 2em;
    height: 2em;
}
.high {
    background: gainsboro;
}
.high:hover {
    background: whitesmoke;
}
Run Code Online (Sandbox Code Playgroud)


Nav*_*eth 22

元素一直是矩形的.您仍然可以通过在矩形分区内绘制CSS形状并排列不同的分区(使用z-index等)来模拟其他形状.这将有助于您:

http://css-tricks.com/examples/ShapesOfCSS/