关于标签大小写,有点历史可能有助于理解趋势从大写字母转变为小写字母的原因:在HTML4中,元素通常用大写字母表示,但根据W3Schools,W3C recommended they be written in lowercase(虽然我找不到引用)。然后,XHTML变得流行起来;但是the specification stipulated elements and attributes must be lowercase。和HTML5 specification says you can go either way, but lowercase is recommended。
关于内部和外部的CSS,它确实取决于。如果多个页面正在访问相同的CSS,then the browser will likely cache it,这意味着将所有CSS放入单独的文件是明智的。我也喜欢这个代码抽象。但是,如果它是单个页面,则可以选择内联。
关于导航栏,这是一个偏好问题。我喜欢加载模板文件,通过DOM运行它,然后插入我需要的元素。对于性能你可以选择另一种方法,但我喜欢这个代码抽象。
类似以下内容:
<?php
class Webpage {
private $document;
function __construct() {
$this->document = new DOMDocument();
if($this->document->loadHTMLFile("template.html")){
$this->createHeaderMenu();
}else{
trigger_error("Webpage->__construct() failed to load template.html", LOG_ERR);
}
}
protected function createHeaderMenu() {
$headerMenu = $this->document->getElementById("header-menu");
$li = $this->document->createElement("li");
$a = $this->document->createElement("a", "Homepage");
$a->setAttribute("href", "/");
$a->setAttribute("target", "_self");
$a->setAttribute("title", "Homepage");
$li->appendChild($a);
$headerMenu->appendChild($li);
}
public function output() {
return (string) $this->document->saveHTML();
}
}
$page = new Webpage();
echo($page->output());
?>
当然,template.html将您的模板,也将需要一个UI元素在里面设置为标题菜单的id属性。
所以template.html被index.php调用(例如),并告诉index.php如何布局网站或其他“调用”将被显示? –
是的, template.html基本上是一个纯粹的HTML版本的网站,没有任何内容。在'__construct()'中,它被作为DOMDocument加载。在'createHeaderMenu()'中,找到带有标题菜单id的元素,并插入一个里面带有元素的li元素;基本上它是填充你的空模板的内容。有很多方法可以对一只猫进行皮肤处理,但是这种方法可以让您保留实际的HTML,而不是将它分割成一堆包含或与PHP交织在一起。如果你想改变你的设计而不用搞乱PHP,那就太棒了:) –
Cool PHP对我来说是一款全新的球类游戏。但我需要建立一个网站,其内容可以由其他不太懂网络用户编辑。我没有运气让任何CMS来满足我的需求,所以我猜它学会了硬编码。 –