5

好的,我正在尝试复制您在页面底部看到的效果,使用返回顶部按钮: http: //www.ppp-templates.de/tilability/ - 在我们留下的内容区域之后连接的。

基本上他为此使用了背景图像,我想用 CSS 复制它并保持相同的效果。

我知道如何使用带边框的 CSS 创建三角形,但在我的情况下,我想使用透明的 bg 图像而不是颜色,所以我不能使用边框

我删除了背景图像并在整个 div 上使用了#FFF,所以它现在都是白色的......我创建了一个新的 div,在其中我添加了返回顶部按钮并添加了 background: transparent ,所以它是透明的,但是怎么做我通过 CSS 创建三角形?

任何帮助是极大的赞赏。

4

5 回答 5

9

小提琴:

http://jsfiddle.net/JaMH9/2/

的HTML:

<div class="bar">
    <span class="home">^<br>Home, sweet home!</span>
</div>​

CSS:

.bar {
    position: relative;
    width: 90%;
    height: 30px;
    margin: 0 auto;
}

.home {
    position: absolute;
    top: 0px;
    left: 60%;
    width: 20%;
    text-align: center;
}

.bar:before, .bar:after {
    content:'';
    position: absolute;
    top: 0;
    height: 0;
    border-top: 30px solid white;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
          box-sizing: border-box;
}

.bar:before {
    left: 0;
    width: 70%;
    border-right: 30px solid transparent;
}

.bar:after {
    right:0;
    width: 30%;
    border-left: 30px solid transparent;
}
​
于 2012-07-07T22:33:22.060 回答
3

Here's one way to make a triangle with fairly minimal markup and css:

HTML:

<div class="triangle"></div>

CSS:

.triangle {
    width: 0; 
    height: 0; 
    border-left: 35px solid transparent;
    border-right: 35px solid transparent;
    border-bottom: 35px solid gray;
}

http://jsbin.com/iribib/21

于 2012-07-08T20:22:23.063 回答
2

给你,http://jsfiddle.net/pkUx7/1/

HTML

<body>
    <div id = "footer"></div>
    <div id = "bottom-line-left"></div>
    <div id = "triangle"></div>
    <div id = "bottom-line-right"></div>
</body>

CSS

body {
    background-color: purple;
}   

div {
    margin:0;
    padding:0;
    background-color: violet;
}

#footer {
    height: 100px;
}

#bottom-line-left, #bottom-line-right {
    display: inline-block;
    height: 20px;
}

#bottom-line-left {
    width: 61%;
}

#bottom-line-right {
    float: right;
    width: 37%;
}

#triangle {
    margin-left:-6px;
    margin-right: -4px;
    padding:0;
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 20px solid purple;
}
于 2012-07-07T22:43:26.190 回答
2

我只是把它放在一起,可能有更好的方法来实现这种效果。

HTML

<div class="div1">Lorem Ipsum</div>
<div class="div2"></div>
<div class="div3"></div>
<div class="div4"></div>

CSS

body {
    background-color: gray;
    border: 20px solid gray;
}
.div1 {
    background-color: white;
    border: 20px solid white;
}
.div2 {
    float: right;
    border-top: 20px solid white;
    border-right: 20px solid white;
    border-left: 20px solid transparent;
}
.div3 {
    float: right;
    margin: 10px -20px;
    border-bottom: 20px solid white;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
}
.div4 {
    border-top: 20px solid white;
    border-right: 20px solid transparent;
    margin-right: 40px;
}

在这里看到它。

于 2012-07-07T22:44:30.287 回答
0

您可以使用矢量路径。例如,带有绿色边框的透明三角形:

<svg height="151" width="150">
    <path d="m0 150 h150 l -75 -150 z" fill="transparent" stroke="green" />
</svg>

在这里看到它。

于 2014-06-24T14:49:09.333 回答