style标签必须书写在头部吗,放在其他位置会不会无法实现样式效果

放在其他位置的话能实现效果吗

放在其他位置可以实现,但是不建议。

可以在编辑器当中尝试如下代码:

<!doctype html>
  <html>
  <head>
      <meta charest="UTF-8">
      <title>HTML5布局之路 - style位置的影响</title>
  </head>
  <body>
      <div>第一个div</div>
      <style>
          div{
             border:1px solid red;
          }
      </style>
      <div>第二个div</div>
  </body>
  </html>

在浏览器显示效果当中,两个div均存在1像素红色实线边框。也就是说,style标签书写在body标签中时代码生效,div得到了style标签中设置得具体样式效果。

style并不仅仅可以放置在<html>标签之内,<body></body>之后,甚至可以放在</html>标签的后面。

虽然style标签的位置随意,但是并不推荐将它放置在<head></head>标签之外。主要原因有以下两点:

    不便于维护:当style标签放置到body标签中,工程师在后期维护时,就需要花额外的时间进行寻找,在密密麻麻的代码当中寻找某种样式并进行修改,或者调试是否因为某种样式而引发的问题,绝对是一件让人心烦的事情。

    会引起页面回流与重绘,从而降低加载速度。网页是由DOM Tree(也就是各个标签)和样式结构体组合后构建成的render tree。render tree构建完成后,浏览器就会根据render tree来进行页面的绘制。

    页面回流:当render tree中的一部分(或全部)因为元素的规模尺寸、布局、隐藏等改变而引起的页面重新渲染(或者叫作重新构建绘制)。

    页面重绘:当render tree中的一些元素需要更新属性,但这些属性只会影响元素的外观、风格,而不会影响到元素的布局,此类的页面渲染叫作页面重绘。

由于网页文档是自上而下加载并解析的,假设将style标签书写在了</body>的后面,在读取到style标签之前,整个网页文档已经渲染得差不多了,这时候突然发现存在一个style标签,并且style标签中的内容针对网页中某些元素的样式进行了设置,于是浏览器只好重新为每个元素计算样式,再加载出来。这会导致网页的加载速度的变慢。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-19
同样可以实现样式;html加载文件是从头开始加载的;放在头部是让样式先加载;不会出现样式错乱的情况,当然你也可以放在任何地方;
第2个回答  2018-07-19
标签就是html中的规定的一种固定写法 例如:<div></div><span></span><h5></h5>等等这种成对出现的标签...还有少量的这种<br />但标记标签。这些标签可以构成一个简单的没有任何样式的网页...当然很丑...这时候就需要我们的CSS(层叠样式表)登场了...首先你要学会怎样用CSS控制HTML中标签来达到我们想要的效果,那就需要从学习CSS的类型选择符开始:一、类型选择符 什么是类型选择符?指以网页中已有的标签类型作为名称的行径符。body是网页中的一个标签类型,div,p,span都是。本回答被网友采纳
第3个回答  2018-07-19
可以的啊,,,,,
相似回答