我有一个响应式网站,它对某些文本 block 有 php 字符限制。限制因台式机、平板电脑或移动设备而异,但我正在努力根据设备/尺寸切换此限制。
这是我用来限制文本的 php 代码:
<?php
ob_start();
the_content();
$old_content = ob_get_clean();
$new_content = strip_tags($old_content);
if(strlen($new_content) > 400) {
echo substr($new_content,0,400) . "...";
} else {
echo substr($new_content,0,400);
} ?>
我如何切换与使网站响应的媒体查询相关的限制?据我所知,这不能用 css 完成,对吗?
CSS 尝试:
p.tester {
white-space: nowrap;
width: 300px;
overflow: hidden;
text-overflow: ellipsis;
min-height:300px;
}
目前限制在一行,是否可以显示5行?
最佳答案
你不能。 PHP是服务器端的,服务器不知道屏幕的分辨率是多少,没有任何帮助。
您可以添加 AJAX 调用,告诉 PHP 屏幕的大小并加载 php 给您的新文本
一个更简单的方法(我不推荐使用 ajax 的方法)可能是这样的:
<div id="AlwaysShowThis"> text upto 400 characters </div>
<div id="showIfMedium"> show text characters 401 till 600</div>
<div id="ShowIfbig"> show text from character 601 and up</div>
并通过 CSS 中的媒体查询控制它们
另一种方法是其他评论中建议的text-overflow
(我将添加此以获得完整答案)
elem{
text-overflow: ellipsis;
}
这将采用可用尺寸并在末尾添加点。如果您的响应非常灵敏(例如 400px 有效,410px 也有效,第二个允许更多字符),则更灵活一些
关于php - 为响应式媒体查询切换 php 字符限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18205459/