5

さて、ページの下部に表示されている効果を、トップに戻るボタンを使用して複製しようとしています。http ://www.ppp-templates.de/tilability/- 「Westay」のコンテンツ領域の後接続されています。

基本的に彼はそのために背景画像を使用しています。CSSでそれを複製して同じ効果を維持したいと思います。

CSSで境界線のある三角形を作成する方法は知っていますが、私の場合は、色ではなく透明なbg画像を使用したいので、境界線は使用できません。

背景画像を削除し、div全体で#FFFを使用したため、すべて白になりました...新しいdivを作成し、[トップに戻る]ボタンを追加し、背景を追加しました。透明になるため、透明になりますが、どうすればよいですか。 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

マークアップとcssを最小限に抑えて三角形を作成する1つの方法は次のとおりです。

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 に答える