有没有办法使用Smarty“if”语句根据用户视口大小显示内容?例如,我正在创建一个表单,如果用户在一个小设备(320px)上,那么我希望标签是表单的初始输入值(即你的名字),它在模糊/焦点上被清除,如果用户正在桌面上查看,我希望标签显示在输入字段的左侧。
答案 0 :(得分:0)
没有办法用PHP做到这一点,并且使用Smarty模板是不可能的。使用PHP可以做的最好的事情是获取用户代理,如果它是移动用户代理,那么就做你想做的事。
您可以下载像这样的移动检测类http://mobiledetect.net/,然后创建一个可在模板中使用的Smarty变量。
答案 1 :(得分:0)
应该通过css媒体查询在客户端上完成那种逻辑。您可以渲染标签,但在较大的屏幕上隐藏它们。
<style>
@media (min-width: 600px) {
.myLabels {
display: none;
}
}
</style>
<label class="myLabels">Your name</label>
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_querieshi