zoukankan      html  css  js  c++  java
  • CSS样式表

             

           CSS的全称Cascading Stylesheets样式表,它可以对布局,字体,颜色,背景和其他文图效果实现更加精确的控制。

     

    样式表的具体优势:

     

    格式和结构的分离

    HTML没有具体控制网页的格式或外观,浏览器自己决定应该如何显示。层叠样式表通过将定义结构的部分和定义格式的部分分离,使我们能够对页面的布局施加更多的控制。HTML仍可以保持简单明了的初衷。CSS代码独立出来从另一个角度可控制页面外观。

    更好的控制页面的全局的能力

    使用层叠样式表我们可以调整字号,字体,控制边距等等,对页面的全局信息更精确的控制。

    可以制作出体积更小下载更快的网页

    样式表只是简单的文本,就像html那样。它不需要图像,不需要执行程序,不需要插件。使用串接样式表可以减少表格标签及其它加大HTML体积的代码,减少图像用量从而减少文件尺寸。

    更快更容易地维护及更新大量的网页

    没有样式表时,如果我想更新整个站点中所有主题文本的字体,我必须一页一页的修改每张网页。样式表的主旨就是将格式和结构分离,利用样式表,我可以将站点上所有的网页指向单一的一个CSS文件,我只需要修改css文件中的某一行,那个整个站点都会随之发生变动。

     

    CSS的核心内容:标准流,盒子模型,定位

     

    标准流:

       在说标准流之前不得不说的块级元素和行内元素

     

    行内元素:span---一个容器

    块级元素:div--一个容器

     

    divspan的区别就是:span为行内元素,div为块级元素

    块级元素是占满一行的,而行内元素的大小只与内容大小有关

     

    举例:


     


    将行内元素转变成块级元素


     


    显示结果:


       标准流:就是标签的排列方式。

    <divclass="style2">我的未来不是梦</div>

    <spanid="st" class="style1">栏目一</span>

    <spanclass="style2">栏目二</span>

    <br/>

    <spanclass="style3 guaiji">阳光男孩</span>

    <spanclass="style3 ">栏目三</span>

    以上是标签的排列方式,下面是网页内容的呈现方式,它是以标签的排列方式来呈现的,标准流就像流水,排在前面的标签内容前面出现,排在后面的标签内容后面出现。


     

    注意:

    行内样式对某些样式是不支持的

     

    盒子模型:

    标准盒子模型:


     

    定位:(相对定位,绝对定位,浮动)

       它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。


    浮动:

       浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

    举例:css浮动

    请看下图,当把框1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:


    再请看下图,当框1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2从视图中消失。

    如果把所有三个框都向左移动,那么框1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。


     

    如下图所示,如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”:


     

     

    相对定位:相对于原来的位置进行偏移

       注意,在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。

    举例:

    注意,在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。

    如图:


     

    绝对定位:

       设置为绝对定位的元素框从文档流完全删除,以其所在标签的父标签进行定位,如果其外面没有别的块级元素标签则以<body></body>为父标签进行定位。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

     

       绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。

    举例:

    普通流中其它元素的布局就像绝对定位的元素不存在一样:

     

    #box_relative {

      position: absolute;

      left: 30px;

      top: 20px;

    }

     


     

     

       相对定位是“相对于”元素在文档中的初始位置,而绝对定位是“相对于”最近的已定位祖先元素,如果不存在已定位的祖先元素,那么“相对于”最初的包含块。

     

     

  • 相关阅读:
    Chrome 控制台console的用法[转]
    Page Visibility(页面可见性) API介绍、微拓展[转]
    移动端rem单位用法[转]
    JavaScript继承方式详解[转]
    说说React
    Flex 布局教程:语法篇[转]
    git 常用命令总结
    Supervisor 在ubuntu系统下添加自启动
    Django 通过APNS推送消息
    通过 python-xmp-toolkit 读取图片xmlp信息
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3093702.html
Copyright © 2011-2022 走看看