- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我对页面布局有非常具体的要求,我似乎无法 100% 正确。
我的布局是这样的,我在每个部分都添加了数字,以便于解释:
我目前的尝试: https://jsfiddle.net/metheria/sxxbqtnb/71/embedded/result/
我最初的尝试是在填充一个虚拟 div 以创建纵横比之后,但这会在 div 下留下很多空白空间。我需要此布局不超过 100% 的宽度和高度,目前正在发生这种情况。
我目前尝试使用 flex 布局,但我什至无法将 5 合并到其中,因为我什至看不到 3、4 和 6 中的文本。我知道这很可能是由于“padding-bottom: 18%”,但是如果没有那个 padding,我什至看不到 div,更不用说可能保持宽高比的尝试了……
有没有办法将这些宽高比要求和完整布局结合起来?
此外,在 (1) 中,我想分成 4 个部分:- 一个图像- 中间的空间用于分隔图像和两个按钮- 两个按钮向左对齐
这引出了我的最后一个问题。我需要所有的 div 都是“display: flex;”吗?使这个布局工作或者导航栏不能是 flex?还有 map 。
html代码:
<div id="navbar">navbar</div>
<div id="map">mapa</div>
<div id="infos">
<div class="test">
<div class="test-wrap">
<div id="multimedia"></div>
<div id="ambassador"></div>
<div id="next"></div>
</div>
</div>
<div id="footer"> text </div>
</div>
CSS 代码:
body, html {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
}
*, *:before, *:after {
/* Chrome 9-, Safari 5-, iOS 4.2-, Android 3-, Blackberry 7- */
-webkit-box-sizing: border-box;
/* Firefox (desktop or Android) 28- */
-moz-box-sizing: border-box;
/* Firefox 29+, IE 8+, Chrome 10+, Safari 5.1+, Opera 9.5+, iOS 5+, Opera Mini Anything, Blackberry 10+, Android 4+ */
box-sizing: border-box;
}
#navbar {
display: flex;
background-color: pink;
height: 54px;
flex: 0 0 54px;
width: 100%;
}
#map {
width: 100%;
height: 70%;
background-color: blue;
}
#infos {
height: 30%;
}
.test {
position: relative;
height: auto;
background-color: transparent;
display: flex;
}
.test-wrap {
width: 100%;
padding: 0;
margin: 0;
font-size: 0;
display: flex;
/*justify-content: space-between;*/
flex-wrap: wrap;
}
#next {
position: relative;
height: 100%;
width: 15%;
display: inline-flex;
padding-bottom: 18%;
background-color: #666;
}
#multimedia {
position: relative;
height: 100%;
width: 25%;
display: inline-flex;
padding-bottom: 18%;
background-color: #111;
}
#ambassador {
position: relative;
height: 100%;
width: 60%;
display: inline-flex;
padding-bottom: 18%;
background-color: #b92b2e;
}
#footer {
display: inline-block;
position: relative;
height: 15px;
flex: 0 0 15px;
width: 100%;
background-color: tomato;
}
最佳答案
由于整个过程都是为了填满屏幕,所以我们可以为具有固定比例的元素使用视口(viewport)单位。
然后我们可以在要占用剩余空间的元素上使用flex:l
。
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
display: flex;
flex-direction: column;
max-height: 100vh;
height: 100vh;
background: #c0ffee;
}
header {
height: 54px;
background: yellow;
}
main {
flex: 1;
background: blue;
}
aside {
height: 30vh;
background: #000;
display: flex;
}
.left.image {
/* 1:1 */
height: 30vh;
width: 30vh;
background: plum;
}
.left.video {
/* 16:9 */
height: 30vh;
width: calc(30vh *16 / 9);
background: red;
}
.mid {
flex: 1;
background: green;
display: flex;
align-items: flex-start;
}
.asidefooter {
height: 25px;
background: #bada55;
align-self: flex-end;
width: 100%;
}
.right {
height: 30vh;
width: 15vh;
background: grey;
}
footer {
height: 15px;
background: pink;
}
<header></header>
<main></main>
<aside>
<div class="left video"></div>
<div class="mid">
<div class="asidefooter"></div>
</div>
<div class="right"></div>
</aside><footer></footer>
关于html - Flex Layout、纵横比、固定宽度和动态宽度列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33454051/
我不确定是否理解好几个 Android /res/layout 文件夹所起的作用。 layout:一般布局 layout-port:必须更改为纵向的小部件布局 layout-land:小部件的布局,必
我在 Qt 4.7 中有一个界面,但我很难按照自己的意愿行事。 所需行为的基本描述:用户在组合框中进行选择,这会导致查询转到另一个函数,该函数返回一个 QHBoxLayout 对象,该对象通常包括多个
我在 res 文件夹中创建了 layout-large、layout-normal 和 layout-xlarge 并且我将所有 xml 文件复制到那些布局文件夹中 首先,我想问一下 layout(d
如图所示。我想在布局上方显示星图。我是这种编码的新手。 我的查询是1)是否可以在我的布局端显示星标(图像)? 2) 如果每次点击我的 Activity 时我都想显示星标并显示第二张图片,这可能吗?意味
关闭。这个问题需要debugging details .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 上个月关闭。 Improve this questio
我正在使用 android studio 中的 Material 设计为 pre lollipop 设备创建一个 android 应用程序,我是 android studio 的新手我正在我的项目中创
我对 Android 布局设计感到困惑。我想实现下图中的布局: 但是下面的代码产生了类似这张图片的东西: 我的代码
如果我有: Some Element.... Other Element
我有一个单元格(称为A),它在更高层次的单元格(称为P)中使用一次。当我将 A 放在 P 中时,它的边框比 A 的实际内容大得多。当我下降到 A 并进行缩放时,它被缩小了,表明边缘存在一些东西。 我可
我有一个“auth-redirect”模块,位于所有页面布局文件(1column、2column 等)的开头。这可以确保在渲染任何页面之前,如果用户未经过正确身份验证,则会重定向到登录页面。 我允许呈
我的app只支持landscape模式(这是业务需求)。 我在 layout-land 文件夹中有一个布局 xml 文件,但我没有费心创建一个 layout 文件夹,因为我在 Android list
我正在尝试为我的 Android 应用程序创建启动屏幕,如链接 http://developer.xamarin.com/guides/android/user_interface/creating_
我目前正在开发一个应用程序,我正在使用 swdp为了创建对多个屏幕的支持。 我添加了 sw400dp文件夹,根据 Android Studio 的 XML 渲染器,它基本上包含所有较小的手机。 这意味
Android 在“layout-normal”和“layout”文件夹中处理布局的方式有什么不同吗?如果我有一个被认为布局很小的设备,如果只有这两个选项,它会查看哪个文件夹? 最佳答案 是的,在您给
我已经看到了在单个页面上创建多个强制布局的解决方案,其中每个布局都包含在其自己的SVG中。但是,我一直无法找到有关如何在单个SVG中包括多个力布局的帮助。每个布局都有自己的数据与之关联。 可以在htt
我听说 Constraint-Layout 中的指南和 RTL 存在一些错误。但是这些方法都没有帮助我。我的BottomNavigation 的两边都有指南,一切都在LTR 中工作,但在RTL 中,其
我有以下渲染函数: render() { return ( Header
我知道如何使用以下文件夹,但例如我不知道 layout-small 和 layout-sw320dp 有什么区别? 此外,建议我哪些文件夹对优化很重要。我不喜欢我的程序被用户视为不规则。我希望得到您的
layout-latest.js ui-layout-west 面板 west: { paneSelector: ".ui-layout-west"
我是 Android 开发的新手,对我来说,了解图形布局和 xml 如何相互关联的一个好方法是尝试 xml 属性并查看图形 UI 中的变化。有没有一种方法可以同时并排查看,而不必从一个切换到另一个?图
我是一名优秀的程序员,十分优秀!