Smarty视口if语句

时间:2015-04-10 16:11:30

标签: css smarty viewport

有没有办法使用Smarty“if”语句根据用户视口大小显示内容?例如,我正在创建一个表单,如果用户在一个小设备(320px)上,那么我希望标签是表单的初始输入值(即你的名字),它在模糊/焦点上被清除,如果用户正在桌面上查看,我希望标签显示在输入字段的左侧。

2 个答案:

答案 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