有没有办法使用Smarty "if“语句来显示基于用户视口大小的内容?例如,我正在创建一个表单,如果用户使用的是小型设备(320px),那么我希望标签是表单的初始输入值(即。您的姓名),它在模糊/焦点上被清除,如果用户在桌面上查看,那么我希望标签显示在输入字段的左侧。
发布于 2015-04-11 00:17:32
PHP无法做到这一点,Smarty模板也无法做到这一点。对于PHP,您能做的最好的事情就是获取用户代理,如果它是一个移动用户代理,则执行您想要的操作。
您可以下载一个类似这样的移动检测类http://mobiledetect.net/,然后创建一个Smarty变量,该变量将在您的模板中可用。
发布于 2015-04-24 09:43:15
这种逻辑应该通过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
https://stackoverflow.com/questions/29566045
复制相似问题