我正在尝试使用 CSS Grid 规范创建一个 3 列布局,但我遇到了行和元素大小的问题。我的列需要包含不同高度的未指定数量的内容。
这是我理想的布局:
问题:
1)如果我告诉元素 A 和 B 使用第 1 行、第 1 列,那么它们会相互叠加,而不是 B 在 A 下方。
2)如果我指定元素 B 使用第二行,那么由于元素 C 使第 1 行变高,它会被推到元素 C 下方。
3)如果我指定元素 B 使用第二行,则元素 A 会拉伸以填充第 1 行。
有没有办法让元素表现得像第一张图片?
我所知道的唯一解决方案是在列内创建“脚手架”div,如下所示:
<div class="grid">
<div class="col">
<div class="itemA"></div>
<div class="itemB"></div>
</div>
<div class="col">
<div class="itemC"></div>
</div>
<div class="col">
<div class="itemD"></div>
<div class="itemE"></div>
<div class="itemF"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但我不喜欢这样做,我认为网格规范应该允许在没有脚手架的情况下创建布局。
问题:
1)有什么办法可以防止元素拉伸以垂直填充行?
2)是否可以将两个元素放在同一行上,并让它们一个在另一个下面而不是冲突?
这是我的 2 支笔,我试图在其中找到有脚手架和没有脚手架的解决方案:
我在这里有JSON文件,我想用JSON打印该对象,
JSON格式
[{"text": "Aachen, Germany - Aachen/Merzbruck (AAH)"}, {"text": "Aachen, Germany - Railway (ZIU)"}, {"text": "Aalborg, Denmark - Aalborg (AAL)"}, {"text": "Aalesund, Norway - Vigra (AES)"}, {"text": "Aarhus, Denmark - Aarhus Airport (AAR)"}, {"text": "Aarhus Limo, Denmark - Aarhus Limo (ZBU)"}, {"text": "Aasiaat, Greenland - Aasiaat (JEG)"}, {"text": "Abadan, Iran - Abadan (ABD)"}]
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,
<?php
$jsonurl='http://website.com/international.json';
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_decode($json);
foreach ($json_output as $trend)
{
echo "{$trend->text}\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
但这没有用,谁能帮助我了解我在做什么错。
我有以下HTML和CSS布局:
html {
position: relative;
min-height: 100%;
}
body {
/* Margin bottom by footer height */
margin-bottom: 100px;
}
.col-md-6 {
display: flex;
justify-content: center;
}
.container_flex {
display: flex;
align-items: center;
justify-content: center;
/* vh refers to viewport height. Very useful! */
height: 100vh;
width: 100%;
}Run Code Online (Sandbox Code Playgroud)
<div class="container-fluid">
<div class="container_flex">
<div class="row">
<div class="col-md-6 col-xs-12" style="border:solid">
<h1>Column 1</h1>
</div>
<div class="col-md-6 col-xs-12" style="border:solid">
<h1>Column 2</h1>
</div>
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
其中提供了以下结果:
我使用Flexbox的目的是将容器流体内"行"的内容垂直居中.但是,这会导致列在桌面模式下采用压缩外观.在移动视图中,列按预期堆栈.如果有人能解释为什么会出现这种压缩/粗短的外观,我将不胜感激?
相反,如果我删除行类,则不再显示此粗短压缩外观,如下所示:
但是,在移动视图中,列不再堆叠.有什么方法可以纠正这个吗?
如果有人有任何提示/指示如何有效地使用FlexBox和Bootstrap以比我在这里尝试的更有效的方式垂直和水平居中,我将非常感激.
我正在编写一个简单的游戏,它使用system.threading命名空间中的计时器来模拟操作的等待时间。我的目标是让计时器每秒执行一次 x 秒。为了实现这一点,我在计时器回调中添加了一个计数器。
问题是我在调用DeliveryProgressChangedEvent事件后放置的任何代码似乎都被忽略了。我的计数器永远不会增加,因此允许计时器永远运行。
如果我在增加计数器后调用该事件,则一切正常。调用事件后什么都不会执行。如果不解决这个问题,我想了解而不是走简单的路线。
我对 system.threading 计时器对象和事件进行了大量研究,但找不到与我的问题相关的任何信息。
我为我的项目创建了一个简单的例子来演示下面的问题。
class Game
{
private Timer _deliveryTimer;
private int _counter = 0;
public event EventHandler DeliveryProgressChangedEvent;
public event EventHandler DeliveryCompletedEvent;
public Game()
{
_deliveryTimer = new Timer(MakeDelivery);
}
public void StartDelivery()
{
_deliveryTimer.Change(0, 1000);
}
private void MakeDelivery(object state)
{
if (_counter == 5)
{
_deliveryTimer.Change(0, Timeout.Infinite);
DeliveryCompletedEvent?.Invoke(this, EventArgs.Empty);
}
DeliveryProgressChangedEvent?.Invoke(this, EventArgs.Empty);
++_counter;
}
}
Run Code Online (Sandbox Code Playgroud)
public partial class Form1 : Form
{
Game _game = new …Run Code Online (Sandbox Code Playgroud)