Dmi*_*try 7 html css css3 flexbox css-transforms
我找不到一个解决方案,让绿色元素从容器的右下角开始,就像右图("需要")一样.
CSS是否提供了一种从底部对齐/定向元素的方法?
图示了"默认"和"需要"元素的位置.
SNIPPET
.cnt {
width:200px;
height:300px;
border:1px solid green;
text-align:center;
display: table-cell;
vertical-align: bottom;
}
.itm {
transform: translate(0px, 0px) scale(1);
display: inline-block;
padding:10px;
width:20px;
margin:10px;
background: green;
color: white;
transition:transform 0.5s;
}
.itm:hover {
transform: translate(0px, -3px) scale(1.1);
}Run Code Online (Sandbox Code Playgroud)
<div class="cnt">
<div class="itm">1</div>
<div class="itm">2</div>
<div class="itm">3</div>
<div class="itm">4</div>
<div class="itm">5</div>
<div class="itm">6</div>
<div class="itm">7</div>
<div class="itm">8</div>
</div>Run Code Online (Sandbox Code Playgroud)
CSS 是否提供了一种从底部对齐/定向元素的方法?
令人惊讶的是,在水平书写模式下,情况并非如此。
有多种属性,包括writing-mode、direction和text-orientation,flex-direction可让您重新安排内容流。
但它们似乎都不允许从右下角开始以水平书写模式布局内容。也许有人可以纠正我这一点。
与此同时,这里有一个 hack(纯 CSS):
.cnt {
display: flex;
flex-direction: row-reverse;
flex-wrap: wrap;
align-items: flex-start;
align-content: flex-start;
justify-content: center;
text-align: center;
width: 200px;
height: 300px;
border: 1px solid green;
transform: scaleY(-1);
}
.itm {
padding: 10px;
width: 20px;
margin: 10px;
background: green;
color: white;
transform: translate(0px, 0px) scaleY(-1) scaleX(1);
transition: transform 0.5s;
}
.itm:hover {
transform: translate(0px, -3px) scaleY(-1.1) scaleX(1.1);
}Run Code Online (Sandbox Code Playgroud)
<div class="cnt">
<div class="itm">8</div>
<div class="itm">7</div>
<div class="itm">6</div>
<div class="itm">5</div>
<div class="itm">4</div>
<div class="itm">3</div>
<div class="itm">2</div>
<div class="itm">1</div>
</div>Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/o7hr07k6/