有沒有什麼辦法只在父元素中使用偏斜? 我需要創建一個像鑽石一樣的面具,並且子元素不會受到影響。在這種情況下,沒有辦法使用png作爲掩碼。 在此先感謝!如何僅在父元素中使用傾斜?
5
A
回答
1
任何transform
屬性影響應用到和所有他的孩子的元素。
因此,單個「父」元素的唯一方法是讓它沒有孩子(即:它不能是父母!)。
1
你可以嘗試詳細闡述一下你想得到什麼結果?
skew(),就像所有變換屬性總是影響子元素一樣。您可以嘗試在相同位置使用兩個HTML塊,一個使用skew(),另一個使用內容。另外,如果你只是想要一個鑽石,一個帶有scale()和rotate()的矩形框應該足夠了,但是再沒有孩子。
如果你想鑽石作爲面具,我敢肯定,它會更容易渲染鑽石中不存在的部分。渲染鑽石的外部部分不應該那麼辛苦,畢竟它們只是矩形的三角形。
11
這很容易,你只需要糾正孩子的事情。取消校正意味着應用另一個偏斜變換,但這次是相反的角度。
.parent { transform: skewX(45deg); }
.parent > * { transform: skew(-45deg); }
在一般情況下,如果你申請一個號的父元素的變換和你想要的子元素去恢復正常,那麼你必須採用相同的變換,只按相反的順序(順序並在大多數情況下是重要的!),並且減去用於傾斜,旋轉或平移的角度/長度值。在規模的情況下,您需要一個比例因子1/scale_factor_for_parent
。也就是說,對於比例尺,你可以這樣做:
.parent { transform: scale(4); }
.parent > * { transform: scale(.25); /* 1/4 = .25 */ }
有孩子的菱形很容易。
DEMO
結果:
HTML:
<div class='wrapper'>
<div class='diamond'>
<div class='child'>Yogi Bear</div>
<div class='child'>Boo Boo</div>
</div>
</div>
CSS:
.wrapper {
overflow: hidden;
margin: 0 auto;
width: 10em; height: 10em;
}
.diamond {
box-sizing: border-box;
margin: 0 auto;
padding: 4em 1em 0;
width: 86.6%; height: 100%;
transform: translateY(-37.5%) rotate(30deg) skewY(30deg);
background: lightblue;
}
.child {
transform: skewY(-30deg) rotate(-30deg);
}
0
實現此目的的唯一方法是使用position:absolute;
將子元素從文檔流中提取出來,並對孩子施加相同的負程度歪斜。
問題在於您現在不得不手動調整父級的大小。
相關問題
- 1. Snap.svg:我如何傾斜元素?
- 2. 傾斜文本僅
- 3. 在JS元素的視差樣傾斜
- 4. 如何使用HTML-CSS設置傾斜/傾斜背景顏色
- 5. 如何在objective-c中創建45度歪斜或傾斜元素?
- 6. 僅傾斜背景圖像
- 7. 帶傾斜邊框的元素
- 8. 僅在垂直方向傾斜位圖
- 9. 如何使css中的右側傾斜?
- 10. 如何僅使用父元素對HTML進行水平居中?
- 11. 如何在android中傾斜佈局?
- 12. 如何在Android中顯示傾斜圖?
- 13. 如何在Iphone中傾斜UIImageView
- 14. 如何使用jQuery在父元素ID中查找元素?
- 15. 傾斜設計使用CSS
- 16. 傾斜使用css的div的頂部沒有傾斜文本
- 17. 如何顯示imageview傾斜?
- 18. 僅隱藏父元素的子元素
- 19. 我如何傾斜iPhone應用程序截圖,以適應在Photoshop /像素儀傾斜的iPhone?
- 20. 2D 45度傾斜傾斜瓷磚
- 21. 在傾斜類按鈕中沒有傾斜的文本
- 22. 我如何使傾斜線行的HTML
- 23. 在libgdx中傾斜精靈
- 24. 與CSS3的3D空間中的傾斜元素
- 25. 將CSS傾斜變換應用於元素時,反向歪斜值是多少?
- 26. 如何在css中將父元素與父元素分開?
- 27. 如何僅在父元素中顯示按鈕?
- 28. LINQ to XML - 僅在某些父/祖元素中查找元素
- 29. Android:僅使用加速度計確定傾斜角
- 30. 如何用傾斜漸變填充CAShapeLayer?