看起来PHP回声循环正在抵消CSS弹性框。
代码仍会动态显示,并且字体等正确对应于CSS,但是在页面上,“ a”标记不会换行。它们扩展到页面之外。
当我删除动态生成的“ a”标签并对其进行硬编码时,它们将自动换行。
您如何建议我将php内容循环到html中,并使其与CSS flex box一起使用?
的CSS
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
HTML / PHP
<div class="flex-center position-ref full-height">
<div class="content">
<div class="links">
<?php
foreach ($channels as $channel) {
$count ++;
echo "<a>dasdsadsad</a>";
}
?>
</div>
</div>
最佳答案
PHP不在乎换行。除非您明确要求回显换行符,否则它不会回显换行符。例如,可以使用以下代码完成此操作:
foreach ($channels as $channel) {
$count ++;
echo "<a>dasdsadsad</a>\n"; // note `\n` in the end of string
}
更跨平台的解决方案是使用
PHP_EOL
(行尾)常量,根据服务器的操作系统,该常量包含"\r\n"
或"\n"
:foreach ($channels as $channel) {
$count ++;
echo "<a>dasdsadsad</a>" . PHP_EOL;
}
同样这样的事情也可能起作用(但需要检查):
foreach ($channels as $channel) {
$count ++;?>
<a>dasdsadsad</a>
<?php
}
CSS还包括@devpro解决方案:
.flex-center .links a { display: block; }