我正在构建一个HTML页面,该页面代表应用程序中给定文档的“文档信息页面”。这是基于boostrap-4的。
我需要代表这四个信息块:
Data = Document name, size, author, etc.
Image = A thumbnail of the first page of the document.
Tags = Keywords referring to the document.
Links = Several helper links like 'see other documents of the same author' or so.
在“宽屏模式”下(例如LG
和XL
),布局是这样的:
赞:
+----------------+----------------+----------------+
| | | |
| | | |
| | Data | |
| | | |
| Image +----------------+ Tags |
| | | |
| | Links | |
| | | |
| | | |
+----------------+----------------+----------------+
我可以这样实现:
+----------------+----------------+----------------+
| | +------------+ | |
| | | | | |
| | | Data | | |
| | | | | |
| Image | +------------+ | Tags |
| | | | | |
| | | Links | | |
| | | | | |
| | +------------+ | |
+----------------+----------------+----------------+
即:与该结构相似的结构:
<div class="row">
<div class="col">Image</div>
<div class="col">
<div class="row">
<div class="col">Data</div>
</div>
<div class="row">
<div class="col">Links</div>
</div>
</div>
<div class="col">Tags</div>
</div>
在窄模式(MD
,SM
和XS
)中,布局为:
赞:
+----------------+----------------+
| | |
| Image | Data |
| | |
+----------------+----------------+
| |
| Tags |
| |
+---------------------------------+
| |
| Links |
| |
+---------------------------------+
这清楚地显示了3行,可以像这样实现:
<div class="row">
<div class="col">Image</div>
<div class="col">Data</div>
</div>
<div class="row">
<div class="col">Tags</div>
</div>
<div class="row">
<div class="col">Links</div>
</div>
我已经知道如果我在页面内复制了一些html,我可以发挥可见性以将某些内容隐藏在此处并使之显示。但是让内容重复是很丑的。
我已经知道,如果需要的话,我可以使用javascript从此处分离并重新附加html ...但是我很难让内容由javascript复制,移动和操作。
我确信只要重新排列顺序并使用响应断点强制宽度,就可以解决此问题。例如,最后一个布局(狭窄的布局)可以作为单个行完成,其中Image
和Data
为col-6
,Tags
和Links
为{{ 1}},并在一行中将它们全部放在四个块中,以管理col-12
包装到下一行...
但是我实际上找不到在单个HTML中适合这两种布局的解决方案。
如何以两种布局都使用相同的HTML的方式来构造行和列,并且只在这里使用row-*,col- *或任何本机网格内容? https://getbootstrap.com/docs/4.3/layout/grid/