【发布时间】:2018-08-28 13:57:08
【问题描述】:
我是 Angular 的新手... 我有一个也需要在手机上工作的 Angular 应用程序。 我正在使用 primeNG 网格将屏幕划分为列(class="ui-g"),因此每行有 12 列
https://www.primefaces.org/primeng/#/grid
但据我了解,在蜂窝显示中,列数较少?
这样,当我更改屏幕的像素(使用 F12 并更改屏幕大小)时,我看到列数较少
开发一个也支持所有屏幕尺寸的角度应用程序的正确方法是什么?
我的意思是它会按比例缩小屏幕
并且不改变列数
更新 这是我正在使用的代码(我移动了逻辑 - 只有 html)但是当试图在手机上查看它时,单元格并不相邻)
<div class="ui-g ui-sm ui-md">
<div class="ui-g-12 ui-sm-12 ui-md-12">
<div class="ui-g-7 ui-sm-7 ui-md-7">
<div class="ui-g ui-sm ui-md">
<div class="ui-g-12 ui-sm-12 ui-md-12">
<div class="ui-grid-row">
<div class="ui-g-12 ui-sm-12 ui-md-12 ui-md-12">
Please provide us with feedback with your experience ,your rate and/or leave comments
<br> this is to help us provide you with a better service
</div>
</div>
<div class="ui-grid-row">
<div class="ui-g-2 ui-sm-2 ui-md-2">First name *</div>
<div class="ui-g-1 ui-sm-1 ui-md-1"></div>
<div class="ui-g-2 ui-sm-2 ui-md-2">Last name *</div>
</div>
<div class="ui-grid-row">
<input class="ui-g-2 ui-sm-2 ui-md-2" type="text" pInputText name="firstName" maxlength="20" />
<div class="ui-g-1 ui-sm-1 ui-md-1"></div>
<input class="ui-g-2 ui-sm-2 ui-md-2" type="text" pInputText name="lastName" maxlength="20" />
</div>
<div class="ui-grid-row">
<div class="ui-g-2 ui-sm-2 ui-md-2">Middle name</div>
</div>
<div class="ui-grid-row">
<input class="ui-g-2 ui-sm-2 ui-md-2" type="text" pInputText name="middleName" maxlength="20" />
</div>
<div class="ui-grid-row">
<div class="ui-g-2 ui-sm-2 ui-md-2">UMN *</div>
<div class="ui-g-1 ui-sm-1 ui-md-1"></div>
<div class="ui-g-2 ui-sm-2 ui-md-2">Phone number *</div>
</div>
<div class="ui-grid-row">
<input class="ui-g-2 ui-sm-2 ui-md-2" type="text" pInputText name="umn" maxlength="15" />
<div class="ui-g-1 ui-sm-1 ui-md-1"></div>
<input class="ui-g-2 ui-sm-2 ui-md-2" type="text" pInputText name="phoneNumber" maxlength="10" />
</div>
<div class="ui-grid-row">
<br> Service experience *
</div>
<div class="ui-grid-row">
<div class="ui-g-12 ui-sm-12 ui-md-12">
<p-radioButton name="quickFeedBackGrade" value="1" label="Very poor"></p-radioButton>
<p-radioButton name="quickFeedBackGrade" value="2" label="Poor"></p-radioButton>
<p-radioButton name="quickFeedBackGrade" value="3" label="Good"></p-radioButton>
<p-radioButton name="quickFeedBackGrade" value="4" label="Very good"></p-radioButton>
<p-radioButton name="quickFeedBackGrade" value="5" label="Excellent"></p-radioButton>
</div>
<div class="ui-g-3 ui-sm-3 ui-md-3">
Comments
<textarea rows="5" cols="60" pInputTextarea autoResize="autoResize" name="comments"></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
【问题讨论】:
-
列的数量不会改变,这就是为什么您可以为 lg、md、sm 指定列,并利用内置的媒体查询来触发它们,这就是您的设计方式反应灵敏。您可能会更多地研究
ui-lg-*、ui-md-*、ui-sm-*以及它们的工作原理。干杯 -
手机也有12列?所以你说的是每次我有 ui-lg-* 我都需要添加 ui-sm-*?
-
是的,例如。
<div class="row"><div class="ui-md-6 ui-sm-12"></div><div class="ui-md-6 ui-sm-12"></div></div>将为中型和大型屏幕在同一行上创建两列,然后将两个单元格堆叠在彼此的顶部以用于小型(移动)屏幕。网格不会改变它的结构,但你必须为其内容提供能力。 -
对不起,但我还是不明白......当你写 md-6 时,这不是意味着从中等设备开始,单元格的数量将是 6 个吗?为什么写 md-6 和 sm-12 的时候要说 2 列为中型和大型呢?不好意思,能不能多解释一下,非常感谢
-
您始终有 12 列可用,如果您将 6 列给一个单元格,将 6 列给另一个单元格,则组成一行 12。因此,两个单元格将有 6 列宽度在提供的宽度范围内一排。如果您在每个单元格上指定 12,则每个单元格将跨越完整的 12 列可用。我建议咨询the documentation 以获得更好的解释,所有 UI 框架(如引导程序、基础等)的大多数网格系统都以相同的方式工作。 :)
标签: angular