【问题标题】:Place 12 images in a 12 hour clock formation将 12 个图像以 12 小时时钟格式排列
【发布时间】:2014-09-23 03:16:02
【问题描述】:

明确一点:我不是要制作时钟,我只想在每个小时的位置有 12 张图像

是的,所以我想创建一个包含十二个(圆形)图标的 div,每个图标与 12 小时时钟的位置相同,如下所示:

到目前为止,我一直在玩,但没有得到很好的结果。到目前为止,我只尝试了“12”“3”“6”“9”的位置,但它们不会正确居中,margin:auto 0; 他们刚刚关闭。

有没有更简单、更整洁的方法来做到这一点?

FIDDLE

【问题讨论】:

  • 你需要支持哪些浏览器?
  • 希望对您有所帮助:codepen.io/iliadraznin/pen/JcqbE
  • @web-tiki 好吧,它更像是一个内部工作项目,所以我可以使用 Chrome 就可以了
  • @aldanux 我不需要做时钟,我只想要 12 个图像在小时的位置
  • @SaturnsEye - 但你可以编辑它并使用你需要的东西......不要重新发明轮子......

标签: html css position css-shapes


【解决方案1】:

为了更容易且不必定位每张图片,您可以在灰色背景中水平居中放置 12 个 50% 高度的嵌套 div。然后你需要将每一个旋转 30 度(因为360/12 = 30)。

由于 div 都是嵌套的,子 div 将比其父 div 旋转 30 度并自动定位在正确的位置:

DEMO

.clock{
    position:relative;
    width:80%;
    padding-bottom:80%;
    margin:0 auto;
    background:lightgrey;
    overflow:hidden;
}

.clock div{
    height:100%;
    width:100%;
    
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}
.clock > div{
    position:absolute;
    width:5%; height:50%;
    top:0; left: 47.5%;
}
.clock div img{
    position:absolute;
    top:0;left:0;
    width:100%; height:auto;    
}
<div class="clock">
    <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
        <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
            <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
                <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
                    <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
                        <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
                            <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
                                <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
                                    <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
                                        <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
                                            <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/>
                                                <div><img src="http://www.clker.com/cliparts/W/i/K/w/1/D/glossy-orange-circle-icon-hi.png"/></div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

【讨论】:

  • 我喜欢这个!谢谢你。我会玩这个,看看我会怎么做
  • @SaturnsEye 等一下,我找到了一个更简单的解决方案,我会尽快发布
  • 最后一件事,说我想让图标更大,让它们更靠近在一起,什么是最好的 CSS 更改?
  • @SaturnsEye 你只需要改变.clock &gt; divjsfiddle.net/webtiki/16h92nva/2的宽度和左值
猜你喜欢
  • 1970-01-01
  • 2022-08-16
  • 1970-01-01
  • 2017-04-02
  • 2017-08-18
  • 1970-01-01
  • 2022-08-08
  • 2017-08-22
  • 1970-01-01
相关资源
最近更新 更多