- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的问题既是设计问题又是代码问题,我有一个对 Angular 线布局,它由一段文本和一张图片组成,然后在下一行翻转(图片然后是段落)。
问题是我不知道段落的高度或图像的高度,所以如何为最终用户使它的间距相等?
Here is a fiddle that may help explain my question.
我的代码:
<div class="container">
<div class="one">
<p>
</p>
</div>
<div class="two">
<img src="https://cdn.jamesedition.com/media/W1siZiIsImxpc3RpbmdfaW1hZ2VzLzIwMTcvMDkvMDkvMjEvNTgvNDUvMGJkYTRmYTMtMTY1Yy00YmQzLThhZTEtNTlhNzc2NGYwNDBjL3AxLUoycDhOV0xHdnM4RDNVdUphaW5xRWxMMWxEcnpaQzlyNXg0a2xKREUuanBnIl0sWyJwIiwidGh1bWIiLCIyMDAweCJdLFsicCIsIndhdGVybWFyayJdLFsicCIsImVuY29kZSIsImpwZyIsIi1zdHJpcCAtcXVhbGl0eSA4MCAtaW50ZXJsYWNlIFBsYW5lIl1d/2015-lamborghini-aventador-roadster.jpg?sha=6b14013f088579ce">
</div>
</div>
<div class="container">
<div class="two">
<img src="https://cdn.jamesedition.com/media/W1siZiIsImxpc3RpbmdfaW1hZ2VzLzIwMTcvMDkvMDkvMjEvNTgvNDUvMGJkYTRmYTMtMTY1Yy00YmQzLThhZTEtNTlhNzc2NGYwNDBjL3AxLUoycDhOV0xHdnM4RDNVdUphaW5xRWxMMWxEcnpaQzlyNXg0a2xKREUuanBnIl0sWyJwIiwidGh1bWIiLCIyMDAweCJdLFsicCIsIndhdGVybWFyayJdLFsicCIsImVuY29kZSIsImpwZyIsIi1zdHJpcCAtcXVhbGl0eSA4MCAtaW50ZXJsYWNlIFBsYW5lIl1d/2015-lamborghini-aventador-roadster.jpg?sha=6b14013f088579ce">
</div>
<div class="one">
<p>
</p>
</div>
</div>
<div class="container">
<div class="three">
<p>
</p>
</div>
<div class="two">
<img src="https://cdn.jamesedition.com/media/W1siZiIsImxpc3RpbmdfaW1hZ2VzLzIwMTcvMDkvMDkvMjEvNTgvNDUvMGJkYTRmYTMtMTY1Yy00YmQzLThhZTEtNTlhNzc2NGYwNDBjL3AxLUoycDhOV0xHdnM4RDNVdUphaW5xRWxMMWxEcnpaQzlyNXg0a2xKREUuanBnIl0sWyJwIiwidGh1bWIiLCIyMDAweCJdLFsicCIsIndhdGVybWFyayJdLFsicCIsImVuY29kZSIsImpwZyIsIi1zdHJpcCAtcXVhbGl0eSA4MCAtaW50ZXJsYWNlIFBsYW5lIl1d/2015-lamborghini-aventador-roadster.jpg?sha=6b14013f088579ce">
</div>
</div>
.one{
height:200px;
background:red;
width:50%;
float:left;
}
.two{
float:left;
height:auto;
background:blue;
width:50%;
}
.three{
float:left;
height:400px;
background:blue;
width:50%;
}
.container{
height:auto;
display:flex;
flex-direction:row;
align-items:center;
}
img{
float:left;
width:100%;
}
第一类是段落(较短的段落)类.two是图片.three类是较长的段落
如您所见,第一行和第二行的间距相等,但第三行的空间更大,这对最终用户来说看起来不太好。
感谢任何帮助。
最佳答案
删除 img
并使用 background-image
和 background-size: cover
。有了它,您可以使图像完全覆盖剩余的空间。
堆栈片段
.one {
height: 200px;
background: red;
width: 50%;
}
.two {
background: url('https://cdn.jamesedition.com/media/W1siZiIsImxpc3RpbmdfaW1hZ2VzLzIwMTcvMDkvMDkvMjEvNTgvNDUvMGJkYTRmYTMtMTY1Yy00YmQzLThhZTEtNTlhNzc2NGYwNDBjL3AxLUoycDhOV0xHdnM4RDNVdUphaW5xRWxMMWxEcnpaQzlyNXg0a2xKREUuanBnIl0sWyJwIiwidGh1bWIiLCIyMDAweCJdLFsicCIsIndhdGVybWFyayJdLFsicCIsImVuY29kZSIsImpwZyIsIi1zdHJpcCAtcXVhbGl0eSA4MCAtaW50ZXJsYWNlIFBsYW5lIl1d/2015-lamborghini-aventador-roadster.jpg?sha=6b14013f088579ce') center;
background-size: cover;
border: 1ps solid red;
width: 50%;
}
.three {
height: 400px;
background: blue;
width: 50%;
}
.container {
display: flex;
}
<div class="container">
<div class="one">
<p>
</p>
</div>
<div class="two">
</div>
</div>
<div class="container">
<div class="two">
</div>
<div class="one">
<p>
</p>
</div>
</div>
<div class="container">
<div class="three">
<p>
</p>
</div>
<div class="two">
</div>
</div>
或者如果整个图片应该可见,请改用 background-size: contain
。
堆栈片段
.one {
height: 200px;
background: red;
width: 50%;
}
.two {
background-image: url('https://cdn.jamesedition.com/media/W1siZiIsImxpc3RpbmdfaW1hZ2VzLzIwMTcvMDkvMDkvMjEvNTgvNDUvMGJkYTRmYTMtMTY1Yy00YmQzLThhZTEtNTlhNzc2NGYwNDBjL3AxLUoycDhOV0xHdnM4RDNVdUphaW5xRWxMMWxEcnpaQzlyNXg0a2xKREUuanBnIl0sWyJwIiwidGh1bWIiLCIyMDAweCJdLFsicCIsIndhdGVybWFyayJdLFsicCIsImVuY29kZSIsImpwZyIsIi1zdHJpcCAtcXVhbGl0eSA4MCAtaW50ZXJsYWNlIFBsYW5lIl1d/2015-lamborghini-aventador-roadster.jpg?sha=6b14013f088579ce');
background-position: center center; /* or "left top", and so on */
background-repeat: no-repeat; /* or "repeat-y", and so on */
background-size: contain;
border: 1ps solid red;
width: 50%;
}
.three {
height: 400px;
background: blue;
background-repeat: no-repeat; /* or "repeat-y", and so on */
width: 50%;
}
.three + .two { /* where class .two comes after .three */
background-repeat: repeat-y; /* repeat vertically */
background-position: center top; /* start at "center top" */
}
.container {
display: flex;
}
<div class="container">
<div class="one">
<p>
</p>
</div>
<div class="two">
</div>
</div>
<div class="container">
<div class="two">
</div>
<div class="one">
<p>
</p>
</div>
</div>
<div class="container">
<div class="three">
<p>
</p>
</div>
<div class="two">
</div>
</div>
根据评论更新。
如果图像不应该按比例放大,而是按比例缩小,您要么需要一个脚本来检测图像大小并在 background-size: contain
(缩小)和 background 之间切换-size: auto
(保持 org.size),或者,如下所示,使用 img
,结合 transform
使其居中。不过,后者不允许控制重复。
堆栈片段
.one {
height: 200px;
background: red;
width: 50%;
}
.two {
position: relative;
width: 50%;
overflow: hidden;
}
.two img {
display: block;
max-width: 100%;
max-height: 100%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.three {
height: 400px;
background: blue;
width: 50%;
}
.container {
display: flex;
}
<div class="container">
<div class="one">
<p>
</p>
</div>
<div class="two">
<img src="http://placehold.it/100" alt="">
</div>
</div>
<div class="container">
<div class="two">
<img src="http://placehold.it/800" alt="">
</div>
<div class="one">
<p>
</p>
</div>
</div>
<div class="container">
<div class="three">
<p>
</p>
</div>
<div class="two">
<img src="http://placehold.it/800" alt="">
</div>
</div>
关于html - 如何使流体布局等距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48509997/
我有一个标准的 CSS 菜单,用 UL 和 LI 标签制作。我需要它们水平地覆盖整个页面(不是我的真实情况,但我会以此来简化情况)。但是,这些元素是动态创建的,因此我无法对 LI 元素或边距进行任何硬
我很难描述我在寻找什么(在 Google 上搜索) 我有动态 Logo 内容,可以是 3 个 Logo ,也可以是 7 个。我的模板需要容纳所有这些,它们都需要以等间距显示在一行中。.. 例如,如果我
我以编程方式使用 SKTileMapNode。代码是 C# (Xamarin.iOS),但每个 Swift/ObjC 开发人员都应该可以阅读。 问题是等角投影中的图 block 排序似乎不正确,我不明
我需要内联 DIV 彼此之间的间距相等,另外还需要在行中的边框和第一个(或最后一个)DIV 之间。我使用在 Fluid width with equally spaced DIVs 上找到的解决方案.
我有一个流式布局页面,它设置了正文的最大宽度和最小宽度(分别为 1260 像素和 960 像素)。我有一个左侧边栏,它占据了屏幕左侧的 25%,内容占据了屏幕右侧的 75%。在内容中,我放置了两个带有
我正在为游戏制作等距 map ,我可以绘制它,但我不知道如何在没有 Threejs 或其他 3d 库的情况下实现某种 3d 碰撞检测。 有可能吗?也许将 block 变成对象可以有所帮助?我已经搜索过
我正在尝试创建一个标题,中间有一个 Logo ,两侧有两个按钮。我希望按钮和 Logo 在水平方向上均匀分布,然后在垂直空间的中心。下图是我目前所拥有的,粉红色只是为了让我可以看到标题在做什么。 这是
我有一个流体宽度的容器 DIV。 在这里面我有 4 个 DIV,都是 300px x 250px... 我想要将框 1 向左浮动,框 4 向右浮动,框 2
我有两个水平偏移的相机,并在针孔等效模型(失真系数k1, k2, k3, k4)下使用Kalibr获取了它们的校准参数(相机矩阵和失真系数,以及它们之间的转换)。 我想使用openCVs cv.fis
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
对于 iOS 图表库,有人知道如何使 y 轴值彼此等距吗?那么在下图中,“1”线会在图形的中间吗? 最佳答案 将 axisMinimum 设置为零将产生您想要的输出。 //chartView is t
我已经实现了一个基本的等距图 block 引擎,可以通过用鼠标拖动 map 来探索它。请看下面的 fiddle 并拖走: http://jsfiddle.net/kHydg/14/ 分解的代码是(Co
我有一个 1387 像素宽的联系栏 (.png) 和覆盖它的四个包含联系信息(电子邮件、twr、fb)的相同 div。它应该是这样的: 问题:无论窗口大小如何,我如何将联系人 div 平均间隔并将它们
我只需要在屏幕上绘制图 block 以提高性能。执行此操作的可行方法是什么? 我试过这个使我接近但最终遇到了一个我似乎无法解决的错误。 //world position to start drawin
我已经编写了 A* 搜索算法的实现。问题是我目前使用的启发式方法只能在正方形网格上准确工作。由于我的 map 是等轴测图,启发式方法没有考虑 map 的实际布局,因此也没有考虑单元格之间的距离。 更新
我正在使用 transform: rotateX(60deg) rotateY(0deg) rotateZ(-45deg); 使元素看起来像是处于等轴测视角。我想知道我如何才能恢复对某些 child
如何让 UIStackView 在 View 之间具有与填充和间隙相同的空间? 如何实现这种布局: 当这个不适合我时: 这也不是: 我只需要周围的 View 空间与 View 之间的空间相同。为什么这
我确实对等角 View 中的鼠标点击有疑问。简而言之,我有一张平面 map ,就像我说的,有一个等距 View 的相机。现在,当我单击窗口时,我想获取我在 map 上单击的位置的坐标。有什么帮助吗?
我有一个正在构建的 Isometric 引擎: http://jsfiddle.net/neuroflux/09h43kz7/1/ (方向键移动)。 我正在更新 Engine.player.x 和 E
我有一个占据整个屏幕的包装器,我想使另一个 div 在它内部居中,并且它的所有边都与包装器等距。 CSS: #wrapper { width:100%; height:100%;
我是一名优秀的程序员,十分优秀!