Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 用css制作一个十六进制的列表元素_Html_Css - Fatal编程技术网

Html 用css制作一个十六进制的列表元素

Html 用css制作一个十六进制的列表元素,html,css,Html,Css,我有一把简单的小提琴: 还有一个矩形列表元素。我需要把它做成六边形。最简单的方法是什么?(我知道即使是简单的方法也会相当复杂) 我需要它填补和空白,尝试了一些形状,它可以做一些技巧,当它填补,但空的一个更难(它的旋转木马画廊) 它还需要非常小,例如: 我会使用剪辑路径CSS属性。您可以在此处看到它的支持: 例如: .hex{ 保证金:自动; 宽度:100px; 高度:100px; 背景:红色; -webkit剪辑路径:多边形(50%0%、100%25%、100%75%、50%100%、0%7

我有一把简单的小提琴:

还有一个矩形列表元素。我需要把它做成六边形。最简单的方法是什么?(我知道即使是简单的方法也会相当复杂)

我需要它填补和空白,尝试了一些形状,它可以做一些技巧,当它填补,但空的一个更难(它的旋转木马画廊)

它还需要非常小,例如:


我会使用
剪辑路径
CSS属性。您可以在此处看到它的支持:

例如:

.hex{
保证金:自动;
宽度:100px;
高度:100px;
背景:红色;
-webkit剪辑路径:多边形(50%0%、100%25%、100%75%、50%100%、0%75%、0%25%);
剪辑路径:多边形(50%0%、100%25%、100%75%、50%100%、0%75%、0%25%);
}

我会使用
剪辑路径
CSS属性。您可以在此处看到它的支持:

例如:

.hex{
保证金:自动;
宽度:100px;
高度:100px;
背景:红色;
-webkit剪辑路径:多边形(50%0%、100%25%、100%75%、50%100%、0%75%、0%25%);
剪辑路径:多边形(50%0%、100%25%、100%75%、50%100%、0%75%、0%25%);
}

有几种技术,我最喜欢的是使用堆叠的伪元素

.hex {
  background:chartreuse;
    position: relative;
    width: 4em;
    height: 6.2em;
    border-radius: 10px;
    display: inline-block;
    top: 0;
    &:before,
    &:after {
        position: absolute;
        width: inherit;
        height: inherit;
        border-radius: inherit;
        background: inherit;
        content: "";
    }
    &:before {
        transform: rotate(60deg);
    }
    &:after {
        transform: rotate(-60deg);
    }
}

甚至有一家公司使用这种方法

另一种只有1个伪元素的技术

.hexagon {
    position: relative;
    overflow: hidden;
    background: transparent;
    width: 10em;
    height: 10em;
    transform: rotate(-30deg) skewX(30deg) scaleY(.866);
}

.hexagon:before {
    position: absolute;
    right: 6.7%;
    bottom: 0;
    left: 6.7%;
    top: 0;
    transform: scaleY(1.155) skewX(-30deg) rotate(30deg);
    background: chartreuse;
    content: '';
}

为了那个


或者,通过设置多个堆叠背景“渐变”,您可能不需要使用一个元素(而不使用伪元素)。

有几种技术,我最喜欢的是使用堆叠伪元素

.hex {
  background:chartreuse;
    position: relative;
    width: 4em;
    height: 6.2em;
    border-radius: 10px;
    display: inline-block;
    top: 0;
    &:before,
    &:after {
        position: absolute;
        width: inherit;
        height: inherit;
        border-radius: inherit;
        background: inherit;
        content: "";
    }
    &:before {
        transform: rotate(60deg);
    }
    &:after {
        transform: rotate(-60deg);
    }
}

甚至有一家公司使用这种方法

另一种只有1个伪元素的技术

.hexagon {
    position: relative;
    overflow: hidden;
    background: transparent;
    width: 10em;
    height: 10em;
    transform: rotate(-30deg) skewX(30deg) scaleY(.866);
}

.hexagon:before {
    position: absolute;
    right: 6.7%;
    bottom: 0;
    left: 6.7%;
    top: 0;
    transform: scaleY(1.155) skewX(-30deg) rotate(30deg);
    background: chartreuse;
    content: '';
}

为了那个


或者,您可以通过设置多个堆叠背景“渐变”而不使用一个元素(并且不使用伪元素)。

虽然我喜欢剪辑路径,但它在IE、边缘和Safari@FacundoCorradini我能理解。这只是可能的选择之一。我不明白的是,为什么我会被否决?我特别增加了当前的支持率。好吧,我支持你。下层选民和重复问题警察真让我沮丧:(有时对“重复问题”给出正确答案)因此,基本上善待初学者会让你受到惩罚:@虽然我喜欢剪辑路径,但它在IE、Edge和Safari@FacundoCorradini我能理解。这只是一个可能的选择。我不明白的是为什么我会被否决。我特别增加了当前的支持率。好吧,我支持你。否决选民重复问题警察真的让我很沮丧:(有时,对“重复问题”给出正确答案会招致大量的反对票。因此,基本上善待初学者会让你受到惩罚:@