我在 W3 验证中收到错误“文档类型不允许此处的元素“链接””。我在 index.ctp 文件中指定 CSS 文件。我指定的方式是:
<link rel="stylesheet" type="text/css" href="./css/homes.css" />
我在 W3 验证中收到错误“文档类型不允许此处的元素“链接””。我在 index.ctp 文件中指定 CSS 文件。我指定的方式是:
<link rel="stylesheet" type="text/css" href="./css/homes.css" />
当 W3C 抱怨“文档类型不允许在此处“链接”元素”时,这意味着您可能没有将<link>
元素<head>
正确放置在标签内。
在 CakePHP 中,我们通过这样做来正确地HtmlHelper
发出这些link
标签:
内联样式:
//this will echo out the link tag at this exact point
echo $this->Html->css('your-css-script.css');
标题中的 CSS。假设您echo $this->Html->fetch('css')
在 mainlayout.ctp
中,这就是所有非内联 css 链接将被发出的地方。
//this will be placed on top of your layout
$this->Html->css('your-css-script.css', null, array('inline' => false));
多个 CSS 脚本:
$this->Html->css(array('css1.css', 'css2.css',..));
另请注意,扩展名.css
不是必需的,尽管在那里看起来更好。尝试上面的一些组合并确保您的<link>
标签在您的<head>
.
编辑
为了进一步消除对非内联 css 的疑问,当您进行此类设置时:
/View/Layouts/default.ctp
:
<!DOCTYPE html>
<html lang="en">
<head>
<title><?php echo $title_for_layout ?></title>
<?php
echo $this->Html->meta('icon');
echo $this->fetch('css');
echo $this->fetch('script');
?>
</head>
<body></body></html>
而你的观点
/Layouts/View/Users/index.ctp
::
<?php $this->Html->css('homes', null, array('inline' => false)); ?>
Hello world!
homes.css
应该自动进入布局中的代码$this->fetch('css');
块。当您希望布局精简并在头部包含 css 而不是将其分散在渲染的 html 中时,这尤其有用。
在您的布局文件之一View/Layouts/default.ctp
对于一个(css/screen.css)
<?php echo $this->Html->css('screen');?>
不止一个
<?php echo $this->Html->css(array('bootstrap','screen'));?>