首先你不必申報position: static;
,因爲它是在默認情況下已經靜態的(除非你使用responsive design
,你需要重新在分辨率下的某點的屬性值),其次,分配position: relative;
您#bookmark
和使第二個三角形position: absolute;
Demo
#bookmark{
width: 200px;
position: relative;
}
#rectangle {
width: 200px;
height: 300px;
background: black;
}
#triangle-topleft {
width: 0;
height: 0;
border-top: 100px solid black;
border-right: 100px solid transparent;
}
#triangle-topright {
position: absolute;
right: 0;
width: 0;
height: 0;
border-top: 100px solid black;
border-left: 100px solid transparent;
bottom: 0;
}
注意:請務必不要讓你的第一個三角形position: absolute;
否則您需要重新定位三角形。但這是最好的方法,因爲您已將absolute
包裝在relative
容器內。
您也可以看看這個真棒事情 - Font Awesome - Bookmark,你可以調整這個給你想要的任何大小。
你想的東西可以通過使用:before
與content
財產一起:after
僞來達到的。所以你可以擺脫多餘的三角形元素。
正如我所說的,你可以用一個元素來創建這個東西。
#bookmark{
width: 200px;
position: relative;
height: 300px;
background: black;
}
#bookmark:before {
width: 0;
height: 0;
border-top: 100px solid black;
border-right: 100px solid transparent;
display: block;
content: "";
position: absolute;
bottom: -100px;
}
#bookmark:after {
position: absolute;
right: 0;
width: 0;
height: 0;
border-top: 100px solid black;
border-left: 100px solid transparent;
bottom: -100px;
display: block;
content: "";
}
在這裏,我使用:before
和:after
僞,用display: block;
和content: "";
這是必不可少的,讓這件事的工作,也是我的定位都採用absolute
設置爲-100
Demo值的元素(使用單個元素)
注意::before
和:after
僞可以失敗舊版本的IE, 但您可以隨時使用polyfills使用CSS 3
屬性,另外,對於 有關瀏覽器支持的更多信息,可以查看this了。
我明確地設置默認位置作爲首選項。 –
http://jsfiddle.net/nfxYE/3/ - 這是他最簡單的解決方案。 –