2

我正在尝试将一个锚标记居中,该标记在 div 中显示为 CSS3 形状(一个大的“播放”箭头)。

我的标记如下:

<div class="element halfcol">
    <div class="inner beige-bg fullheight">
        <div class="element-content">                       
            <a href="#" class="play-button"></a>                            
         </div>
     </div>
 </div>

CSS是:

.element {
   float: left;
   margin-right: 20px;
   margin-bottom: 20px;
 }
.element .inner {
   border: 2px solid #94111e;
   min-height: 50px;
   border-radius: 10px;
   background-color: #fcf9e3;
   height: inherit;
  -moz-box-shadow: 2px 2px 6px #646464;
  -webkit-box-shadow: 2px 2px 6px #646464;
  box-shadow: 2px 2px 6px #646464;
}
.element .inner .element-content {
  padding: 10px 15px;
  height: inherit;
}
.element .inner .no-padding {
  padding: 0px;
}
.element .beige-bg {
  background-color: #fcf9e3;
}
.element .red-bg {
  background-color: #94111e;
}
.element .transparent-bg {
  background-color: transparent;
}
.element .white-bg {
   background-color: #ffffff;
 }
 .element .smallheight,
 .element .doubleheight,
 .element .fullheight {
    overflow-y: hidden;
 }
 .element .smallheight {
    height: 90px;
  }
 .element .doubleheight {
    height: 220px;
  }
 .element .doubleheight .element-content {
   position: relative;
 }
 .element .fullheight {
    height: 350px;
 }
 .element .no-padding {
   padding: 0px !important;
 }
 /**** Shapes ****/
 .play-button {
   display: block;
   margin: 0 auto;
   border-left: 100px solid #94111e;
   border-top: 60px solid transparent;
   border-bottom: 60px solid transparent;
}

这给了我这个:

在此处输入图像描述

我正在寻找的是这个:

在此处输入图像描述

我可以给它一个顶部/左侧边距以使其居中,但.element容器的高度和宽度是可变的。

任何人都知道如何实现这一目标?:-)

提前致谢!

4

2 回答 2

3

你需要.element-content先做position:relative然后

添加

   position:absolute;
   top:50%;
   left:50%;
   margin-top:-60px;
   margin-left:-50px;

.play-button

演示在http://jsfiddle.net/jKs6F/

于 2012-12-26T22:14:51.930 回答
0

我改变了你的.play-button班级如下:

.play-button {
   display: block;
   margin: 0 auto;
   border-left: 100px solid #94111e;
   border-top: 60px solid transparent;
   border-bottom: 60px solid transparent;

   margin-left: -50px;  /* half border-left value */
   margin-top: -60px; /* border-top value */
   position: relative; left: 50%; top: 50%;
}​​​​​​​​​​​​​​​​​​

看演示

于 2012-12-26T22:18:54.297 回答