zoukankan      html  css  js  c++  java
  • CSS的使用(基础部分)

          在我们刚刚使用html的过程中,我们一定会遇到一些问题,诸如:调整图片,文字等标签时,同样意思但是属性名不同的问题,以及块属性调整麻烦等问题,而CSS的出现就是为了解决这些问题。(本文仅仅从功能以及理解层面解释,由于时间原因没有具体代码实现,详情请结合W3School官方学习)

    一、CSS的作用

    • CSS 指层叠样式表 (Cascading Style Sheets)
    • 样式定义如何显示 HTML 元素
    • 样式通常存储在样式表中
    • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
    • 外部样式表可以极大提高工作效率
    • 外部样式表通常存储在 CSS 文件中
    • 多个样式定义可层叠   

          这是来源于W3School的说法,个人理解来说CSS的作用在于几点:1.通过各种选择器实现样式的复用  2.统一规范整个html的常用属性设置,避免不同标签属性名不同的窘境。 3.通过CSS文件以及link的使用,将样式与html代码分离开来,既保证了CSS文件的复用,降低了样式与html代码的耦合,又提高了代码的逻辑性以及美观感。

    二、CSS的选择器

         1.派生选择器(直接以标签名作为样式名)--即直接对于html的标签进行样式定义,值的注意的是这样的话,会对整个html文件的所有该标签进行样式修改,所以在大型的网站编写中,不建议使用,即使使用也是放在后代选择器中结合使用。

         2.id选择器(#样式名)--在html中id具备唯一性,可以视为身份证一样的唯一标识,所以id选择器也是作为唯一选择器使用。但是,虽然id的意义在于唯一性,html并没有这样设置,也就是锁id选择器依旧可以让多个标签使用,不过不推荐这样使用,因为会失去id选择器的意义。

         3.类选择器(.样式名)--在html中使用class表示的标签均使用该选择器,作为样式复用的重要一环,可以将一些很通用的样式放于class中并结合id使用。

         4.属性选择器([属性名=“属性值”])--可配合派生选择器来使用,设置所有具备这个属性值的标签的样式。

         5.后代选择器(样式名1 样式名2)--对于样式1中的样式2的样式作出设置

         6.相邻兄弟选择器(样式名1+样式名2)--如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器

    三、样式的一些细节

         1.无论什么样式都可以对所有样式属性进行调整,但不一定会有效,比如非块元素调整background等块元素属性是不会生效的,不过错误的属性也不会影响后面属性的有效性。

         2.每条属性相互独立,但是具有顺序性,重复的属性后者会重置前者,且在有顺序性的情况下,一些特殊的属性会相互影响,如浮动float与清除浮动的clear会因为顺序原因倒是代码异常,如border等总属性会直接覆盖掉border-bottom等分属性,在编写时需要注意。

         3.在大型项目中,由于需要的样式太多,所以应该注意命名的规范以及样式的复用,避免出现命名困难的现象。

         4.内边距的设置会直接增大宽高,影响布局。

         5.可以使用line-height和text-indent对头部的标题作出上下居中和空行处理,而不是使用边距来进行处理,因为内边距会直接增加宽高。

      

    四、常用的样式

        1.背景:background-image,background-color:设置块属性的背景信息

        2.文本:text-aligh:设置块属性内部的位置(居中左右等处理) text-indent:设置段落的首行空字符(em) word-spacing:设置字之间的间距 line-heigh:设置行距(可用于header部分左右居中)text-decoration:设置文本修饰(也可用于消除文本修饰)color:文本的颜色

        3.字体:font:字体相关的总属性  font-family:设置字体系列 font-style:设置字体风格 font-weight:设置字体粗细 font-size:设置字体的尺寸

        4.列表:list-style:把所有用于列表的属性做标记  list-style-image:将图片设置为列表项标志 list-style-type:对列表中的属性的类型做设置

        5.表格:border:主要用于设置边框的样式宽度以及颜色等。

        6.图片:vertical:图片的偏移与对齐(左偏,居中等),不过需要有效必须在img中设置,而不是图片的外围块

        7.框模型:使用width和height对宽度以及高度作出设置,既可以使用准确的像素值进行设置,又可以使用百分数来设置,值的说的是由于高度的不固定所以height是无法直接使用百分比设置的,需要在外层块中固定高度。

        8.边距:分为外边距与边距  外边距margin和内边距padding,边距又分为上下左右(top,bottom,left,right)来控制,也可以使用margin与padding来总控制。

         9.定位:position:主要分为相对定位(relation):即与上个元素之间的间隔;绝对定位(absolute):针对于整个窗口的绝对位置即最左上方;fixed:针对于浏览器的左上角的位置定位,常用于做广告的处理,即页面上下左右移动不会改变这个的位置。

         10.浮动:float:用于块的处理,因为块元素(div,dl,p)等会直接换行处理,这对于页面布局来说太过死板,所以可以通过使用浮动来控制块的左浮动,右浮动,不过浮动,顾名思义会使得块与普通的流相互隔离,即对于普通流兰说,浮动的块是不存在的,会直接影响页面布局,所以建议大量使用浮动布局时,将每个块的边框设置好,以便解决一些问题。clear:清除浮动,浮动会直接继承,如果不清除,则会继承给后来的所有块,这样显然不利于我们的布局。

         

  • 相关阅读:
    @ModelAttribute注解详细使用
    Spring MVC使用注解实现账户注册与登陆
    @PathVariable、@RequestHeader与@CookieValue注解的使用案例
    IDEA搭建我的第一个Spring MVC应用(附使用注解实现)
    JDBC自定义工具类
    JDBC与MySQL实现分页查询技术
    JavaWeb实战——记录网站上一次访问时间
    微信小程序使用setData修改数组中的指定下标的属性值
    Centos6.x 无法 ping 外网 --- 已解决
    Ckeditor失去焦点前保留光标位置
  • 原文地址:https://www.cnblogs.com/qqwhsj/p/10834193.html
Copyright © 2011-2022 走看看