Wil*_*yte 7 html css css3 flexbox
我确信以前曾经问过,但我找不到确切问题的答案.
我想要一个非常简单的布局:
-------------------
header
-------------------
|
content | graphic
|
-------------------
Run Code Online (Sandbox Code Playgroud)
哪里:
[编辑添加:]
我已经尝试过使用flexbox并且满足前三个约束,但是我无法让内容窗格水平增长以填充图像未使用的空间.我得到的最好的结果是使用下面的HTML和CSS,但正如您在下面的屏幕截图中看到的,这导致内容div和图像占用相同的大小而不是内容div将图像推向右侧.(这是两者都设置flex = 1的预期行为,所以我没想到它会起作用;但至少这给我的图像大小表现得我喜欢).
我正在使用的是https://jsfiddle.net/uv566jc3/:
.grid {
border: solid 1px #e7e7e7;
height: 95vh;
display: flex;
flex-direction: column;
}
.header {
flex: 0;
}
.grid__row {
flex: 1;
display: flex;
flex-direction: row;
}
.grid__item {
flex: 1;
padding: 12px;
border: solid 1px #e7e7e7;
}
img {
flex: 1;
object-fit: contain;
overflow: hidden;
border: solid 1px #e7e7e7;
}
Run Code Online (Sandbox Code Playgroud)
<div class="grid">
<div class="header">Some header stuff
</div>
<div class="grid__row">
<div class="grid__item">1</div>
<img id="pic" src="https://s27.postimg.org/oc7sozu7n/clouds.png">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我没有在jsfiddle中的grid__item项目上明确设置min-width,但我不认为有任何区别.
有没有一种简单的方法来获得我想要的CSS?如果这是重复的道歉.
我已经编辑了代码,您的解决方案是您想要的吗?我不知道..
https://jsfiddle.net/vjLps7qs/6/
它成为了 :
.container {
width: calc(100vw);
height: 100vh;
overflow: hidden;
}
.top {
height: 1.25em;
padding: 3px;
background: yellow;
display: flex;
flex-direction: row;
}
.innerCtr {
height: 100%;
overflow: hidden;
}
.left {
height: 100%;
background: red;
overflow: hidden;
}
.right {
max-height: 100%;
max-width: 80%;
calc(100% - 1.25rem);
background: blue;
float: right;
object-fit: contain;
overflow: hidden;
position: relative;
top: calc(50% - 1.25rem);
transform: translateY(-52%) scale(0.95);
}
Run Code Online (Sandbox Code Playgroud)
.right {
calc(100% - 1.25rem);
top: calc(50% - 1.25rem);
}
Run Code Online (Sandbox Code Playgroud)
再次,如果这不是您想要的,我很抱歉,但该线程很难导航。
归档时间: |
|
查看次数: |
1355 次 |
最近记录: |