将图标放置到圆圈中

如何将几个元素放置在另一个元素周围的圆中,并使这些元素也都可单击链接?我希望它看起来像下面的图片,但是我不知道如何实现这种效果。

这有可能吗?

回答:

是的,仅使用CSS很有可能而且非常简单。您只需要

清楚要与图像链接的角度即可

(我在末尾添加了一段代码,用于在

您悬停其中一个角度时显示它们)。

演示

您首先需要一个包装器。我将其直径设置为24em(width: 24em; height: 24em;这样做),您可以将其设置为任何所需的直径。你给它

position: relative;。

然后,将带有图像的链接

水平和垂直放置在该包装的中心。你这样做,通过设置position: absolute;,然后top: 50%; left: 50%;与margin: -2em;(其中2em一半的与图像,我已经设置为链接的宽度4em-再次,你可以

改变它到任何你想要的,但不要忘了改利润率这种情况)。

然后,确定要与图像建立链接的角度,然后添加一个类deg{desired_angle}(例如deg0或之类的deg45东西)。然后,对每个这样的类应用链式CSS转换,如下所示:

.deg{desired_angle} {

transform: rotate({desired_angle}) translate(12em) rotate(-{desired_angle});

}

{desired_angle}用0,替换的地方45,依此类推…

第一个旋转变换使对象及其轴旋转,平移变换沿旋转的X轴平移对象,第二个旋转换将对象带回到位置演示中,以演示其工作原理。

这种方法的优点是它很灵活。您可以以不同角度添加新图像,而无需更改当前结构。

代码片段

    .circle-container {

position: relative;

width: 24em;

height: 24em;

padding: 2.8em;

/*2.8em = 2em*1.4 (2em = half the width of a link with img, 1.4 = sqrt(2))*/

border: dashed 1px;

border-radius: 50%;

margin: 1.75em auto 0;

}

.circle-container a {

display: block;

position: absolute;

top: 50%; left: 50%;

width: 4em; height: 4em;

margin: -2em;

}

.circle-container img { display: block; width: 100%; }

.deg0 { transform: translate(12em); } /* 12em = half the width of the wrapper */

.deg45 { transform: rotate(45deg) translate(12em) rotate(-45deg); }

.deg135 { transform: rotate(135deg) translate(12em) rotate(-135deg); }

.deg180 { transform: translate(-12em); }

.deg225 { transform: rotate(225deg) translate(12em) rotate(-225deg); }

.deg315 { transform: rotate(315deg) translate(12em) rotate(-315deg); }

<div class='circle-container'>

<a href='#' class='center'><img src='image.jpg'></a>

<a href='#' class='deg0'><img src='image.jpg'></a>

<a href='#' class='deg45'><img src='image.jpg'></a>

<a href='#' class='deg135'><img src='image.jpg'></a>

<a href='#' class='deg180'><img src='image.jpg'></a>

<a href='#' class='deg225'><img src='image.jpg'></a>

<a href='#' class='deg315'><img src='image.jpg'></a>

</div>

另外,您可以通过使用链接的背景图像而不是使用img标签来进一步简化HTML 。

以上是 将图标放置到圆圈中 的全部内容, 来源链接: utcz.com/qa/400909.html

回到顶部