首页 > 代码库 > CSS

CSS

CSS样式----层叠样式表

    作用:给html加各种各样的样式---html结构和css样式  离  ----便于维护更新

CSS语法

    选择器{   属性名:属性值;属性名:属性值;   }  

导入CSS文件的方法:

       1.行内样式表  

      格式:  <标签  style="属性名:属性值;">  内容  </标签>

          行内样式,只能应用当前文档中的当前对应的html标签加样式,或者里面包含的标签加该样式

    2.内嵌样式表

      格式:    在head中输入

            <style  type="text/css">

              选择器  { 属性名:属性值;属性名:属性值; }

              </style>

              内嵌样式:在当前的文档可以使用该样式                      

    3.外部样式表

      格式:  <link rel="stylesheet"  href="http://www.mamicode.com/外部样式表文件 XX.css"  />

          保存的时候,存为css文件,可以应用多个文档,哪个html标签需要,就可以引用

    4.导入样式表 

      管理css样式

      格式:@import   url(另一个CSS样式)

          @import是CSS样式标签,所以必须放到css文件中,必须放到css样式表的最上端

选择器的分类

  • 基本选择器

    标签选择器:选择给哪一个标签加样式,自动指向该标签

    语法:

          标签选择器名 {   属性名 :属性值;  属性名: 属性值;   }

            不用引用,它会把样式自动添加到对应的标签上   但所有的对应标签都加上该样式

      类选择器:  给一类html标签加样式

       语法      选择器名{   属性名:属性值;属性名:属性值;   }

              类用 .  表示  ,如   .class{}    .mybody{}

            必须得引用,每一个标签都有一个class属性

                <标签  class="选择器名"></标签>  可以引用多次

      Id选择器:  给特定的html标签加样式

      格式:  id选择器名{   属性名:属性值;   属性名:属性值;  }

            id 用  #  表示,如#mybody{}

              <标签  id="选择器名"></标签>

        必须得引用,并且只能引用一次,表示唯一,通常id是给javascript用,而不是用来设置样式

        如果想设置样式,用类选择器

      通用选择器:(*所有)给所有的标签加样式,不是所有浏览器都支持  IE6不支持

      语法:  *{   属性名:属性值;属性名:属性值;  }

  • 复合选择器

    多元素选择器 : 多个标签共有的属性和属性值,放在一起

       语法:  选择器,选择器,选择器....{ 共有的属性: 属性值;  }

    后代元素选择器:   给html的后代标签加样式

       语法:  选择器1     选择器2     选择器3{属性名:属性值;}

                给选择器1下的 选择器2选择器3 标签添加样式

        .body .table .tr{属性名:属性值}

    子元素选择器:  给html标签的子标签加样式

      格式:   选择器>选择器{属性名:属性值;}

          .body>table{属性名:属性值;}

            某个标签里面的第一层  比后代选择器指向更明确 

   伪类:----锚点<a>(内容必须做好链接)

      a:link      未访问的链接

      a:visited     访问过的链接

      a:hover    鼠标移动到链接上

      a:active    单击鼠标左键的那一时刻的样式

 

  • 文本属性

       font-size     文本的大小    

     font-weight      文本是否加粗   bold    normal

     font-style   文本是否倾斜  italic     normal

     font-family   文字的字体

     text-decoration  文本是否有线条

     text-decoration:   underline        下划线

     text-decoration:   overline      上划线

     text-decoration:   line-through     删除线

     text-decoration:  none        去掉所有线条

     text-indent:  2em          文本首行缩进2个字符

     color            文本的颜色

     letter-spacing     字母与字母之间的距离

     word-spacing  单词和单词之间的距离

     text-align    文本的对齐方式

  •  背景属性    

    background-color    背景颜色

    background-image   背景图片

    background-repeat  背景图片是否平铺  no-repeat     不平铺

                          repeat-x/y    横向平铺/纵向平铺

                          repeat     横向和纵向都平铺(默认)

    background-position    背景图片的显示方式  水平   left  center  right

                              垂直 top  middle  bottom

      简写为: background:背景颜色  背景图片  背景图片是否平铺      水平  垂直  ;

  • 列表   

  去掉列表前面的项目符号    list-style-type: none  简写为  list-style:none

  用小图片代替项目符号     list-style-image: url(图片的地址)

 

  • 合并表格边框线

    border-collapse:collapse;  合并表格边框线

  • 边框线的属性    

  边框(top  right  bottom  left)  

    border-top-color      上边框的颜色值

    border-top-style      上边框的线形  solid  实线  dashed  虚线  dotted    点状线

    border-top-width       上边框的粗细

    简写:  border-top: 线形  粗细  颜色

 

  盒子模型:
    1.内容区:width 和 height

    2.边框: border

    3.内边距: padding 内容和边框之间的距离,也可以分为上 右 下 左 四个属性确定内容位置

        padding:10px 20px 30px 40px;上 右 下 左
        padding:10px 20px 30px; 上10px 左右20px 下30px
        padding:10px 20px; 上下10px 左右20px
        padding:10px; 上下左右均为10px

    4.外边距:margin 边框以外的距离 与内边框的属性相同

      注 意:外边距叠加问题,取较大的那一个作为  最后的margin

  

  清除格式:

  清除html原有的样式,代码:

  *{margin:0;padding:0;} 或

  body,h1,h2,p,ul,ol,li....{margin:0;padding:0} 消除这些标签的格式

  写在CSS中

 

  网页的布局思想

  1.清除格式

  2.设置页面属性,即body{}

  body{背景颜色/背景图片 文本的大小 文本的颜色 文本的字体 行间距}

  例如:body{background:blue;font-size:14px;font-color:black;font-family:宋体;line-height:150%;}

  3.划分结构:提前划分好整个网页的结构,在哪个地方放什么东西等等......

  网站的结构就是两部分(横向和纵向)

  1.纵向就是正常的文档流,设置内容器的宽度和高度,设置内容和边框之间的padding,

  边框以外的margin,边框border等属性就可以。

  2.横向就需要使用浮动

 

  行内元素和块元素

  1.行内元素: 输入完标签后,自己不占一行的,如:span b i u strong a

  特点:行内元素的宽度和高度是由内容来决定的,宽度(width)和高度(height)不能用

  默认的CSS样式是display:inline;

  2.块元素:输入完标签后,自己独占一行的,如:div p table ul ol li dl dt dd h1......

  特点:块内元素的宽度和高度可以设置,默认的CSS样式是display:block;

  块--转换--行:display:inline;

  行--转换--块:display:block;

  
  浮动的特点:

  1.设置浮动的元素,不占空间

  2.设置浮动元素的层级高于普通元素

  3.如果在一行的元素想要横向排列,都设置浮动就可以了

   如何让盒子在页面水平居中

      margin:   xx    auto;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CSS