0

我已经完全通过 CSS 创建了一个形状。以下链接包括我的工作。

http://jsfiddle.net/kaHek/119/

CSS:

#applicationStatus {
position: relative;
width: 630px;
height: 140px;
top: 20px;
left: 40px; }

ul.applicationStatus {
list-style: none; }

li.applicationStatus, li.applicationStatusGood, li.applicationStatusNoGood {
height: 140px;
background-color: #767676;
display: inline-block;
/* Dirty IE Hack */
zoom: 1;
*display: inline;
margin-right: 30px;
padding: 10px;
color: white;
font-size: 18px;
text-align: center;
line-height: 150px;
/*      vertical-align: middle; */ }
li.applicationStatus:after, li.applicationStatusGood:after, li.applicationStatusNoGood:after {
content: "";
position: absolute;
width: 0;
height: 0;
border-top: 80px solid transparent;
border-left: 30px solid #77a942;
border-bottom: 80px solid transparent;
margin: -10px 90px 0 0px; }

HTML

<div id="applicationStatus">
    <ul>
        <li class="applicationStatus">Başvuru Alındı</li>
        <li class="applicationStatusGood">Dil Sınavı</li>
        <li class="applicationStatusNoGood">Sözlü Mülakat</li>
        <li class="applicationStatus">Hibe</li>
    </ul>
</div>

我想要达到的目标如下:

在此处输入图像描述

我正在努力对齐图像的箭头部分。我在css3shapes.com的帮助下使用:after伪元素创建了该部分,但我似乎无法正确对齐它。

设置 after 选择器的边距值适用于垂直定位,但不适用于水平定位。

我应该怎么办?

4

4 回答 4

1

检查 Jsfiddle

http://jsfiddle.net/arunberti/kaHek/120/

margin: -10px 90px 0 10px;
于 2013-07-26T09:10:11.460 回答
0

查看此代码,您可以完全实现您正在寻找的......!:)

设计的 CSS3 形状

jsfiddle

代码:

HTML:

<div id="css3">
    <ul>
        <li class="css3">HTML5/CSS3</li>
        <li class="css3">Shapes</li>
        <li class="css3">Hello World!</li>
    </ul>
</div>

CSS:

#css3 {
  position: relative;
  width: 630px;
  height: 140px;
  top: 20px;
  left: 40px;
}

ul.css3 {
  list-style: none;
}

li.css3 {
  height: 140px;
  background-color: #76a942;
  display: inline-block;
  /* Dirty IE Hack */
  zoom: 1;
  padding: 10px;
  color: #fff;
  font-size: 1em;
  text-align: center;
  line-height: 150px;
  margin-left: 50px;
  }

li.css3:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 40px solid #76a942;
    border-top: 80px solid transparent;
    border-bottom: 80px solid transparent;
    margin: -10px 90px 0 10px;
}
于 2013-07-26T09:45:22.903 回答
0

或者,您可以这样做:

小提琴

相关代码:

li {
    position:relative;
}

li:after {
    right:-30px; /* width of element */
    top:0;
}
于 2013-07-26T09:15:32.743 回答
0

保证金规则:

Margin: 25px 50px 75px 100px; 
  • 上边距为 25px
  • 右边距为 50px
  • 下边距为 75px
  • 左边距为 100px

在您的情况下,这很好用:margin: -10px 90px 0px 10px;

确保 this 的最后一个值应该与您的padding: 10px;inli.applicationStatus, li.applicationStatusGood, li.applicationStatusNoGood方法相等。

于 2013-07-26T09:14:49.540 回答