zoukankan      html  css  js  c++  java
  • css层叠样式表

    简介

    • 什么是CSS?

      • 层叠样式表:Cascading Style Sheet

    • 有什么作用?

      • HTML是页面的骨架,而CSS就是对网页骨架内容的修饰

    • 为什么要使用?

      • 样式和内容写在一起会显得非常臃肿,使用CSS可以将样式单独抽出来,可以提高开发效率。

      • CSS提供了很多HTML属性无法替代的显示效果。

      • 单独抽离出来的CSS可以进行独立加载,能够实现多个页面共享,可以节约网络带宽,节约成本。

    CSS引入方式

    • 方式1:行内样式表

      • 通过标签的style属性进行设置

    • 方式2:内联样式表

      • 通过style标签进行设置

    • 方式3:外联样式表

      • 通过link标签引用外部CSS文件

      •  <link type="text/css" rel="stylesheet" href="01.css"/> 
    • 使用说明:

      • 当设置的属性比较少,需要设置的地方也比较少,可以使用行内样式表

      • 当样式只在一个页面内部使用,很多地方都需要相同的效果,可以使用内联样式表

      • 当一个网站的多个页面需要相同的显示效果,可以使用外联样式表,哪里使用哪里引入即可。

    CSS语法格式

    • 样式要写在{}中

    • 所有的样式都是以键值对的形式出现的

    • 样式与值之间通过':'进行连接

    • 每个属性的结尾都要有一个分号,而且建议一行一个样式

    • 注释:/* */

    • CSS文件中不要书写style标签

    常用选择器

    • 标签选择器:通过标签的名字进行选择

    • class选择器:通过class属性的值进行选择,语法:'.'

    • id选择器:通过id属性的值进行选择,语法:'#'

    • 组合选择器:使用逗号隔开多个选择器选择的结果进行统一设置

    • 层级选择器:通过一层一层的元素定位进行选择,多个层级之间使用空格隔开

    • 属性选择器:根据元素的属性值进行选择

    • 伪类选择器:通常用于标识标签的不同状态,如:a:link

    • 通用选择器:使用'*'进行选择,会选中所有元素,尽量不用。

    选择器的优先级

    • 问题:当多种选择同时选择同一元素,并且设置同一属性时,请问以哪个为准?

    • 答案:CSS中没有明确规定优先级,但是有一个大致的原则是定位越具体优先级越高。

    • 参考:id > class > * > 默认属性

    • 使用说明:

      • 尽量避免使用多种方式同时修改样式

      • 尽量避免多处同时修改同一标签的同一样式

      • 优先级相同,后面的会覆盖前面的效果

      • 如果还有优先级问题,可以使用chrome调试工具进行检查定位

    尺寸及单位

    • 说明:在HTML中可以不写单位,但是在CSS中必须书写。

    • 单位:

      • px:像素,绝对单位

      • %:百分比,相对单位,相对于父级元素

      • em:相对于父级元素的倍数

      • rem:相对于HTML元素的倍数

    • width:宽度

    • height:高度

    • min-width:最小宽度

    • max-width:最大宽度

    • min-height:最小高度

    • max-height:最大高度

    字体设置

    • font-style:normal(正常)、italic(斜体)

    • font-weight:normal(正常)、bold(加粗)

    • font-size:字体大小

    • font-family:字体族

    • font:简化的书写方案,可以进行一次性设置

      • 顺序是固定的

      • font-size和font-family不能省略

      • 如:font: italic bold 30px 宋体;

    文本修饰

    • text-indent:缩进

    • overflow:超出容器的内容如何处理

    • text-decoration:文本横线的显示处理

    • text-align:水平对齐方式

    • line-height:行高,若设置为容器高度可以实现垂直居中

    • vertical-align:行级标签之间垂直对齐(top、bottom、middle)

    背景设置

    • background-color:背景颜色

    • background-image:背景图片

    • background-repeat:背景图片的重复方式

    • background-position:背景图片的位置

    • background-attachement:附着方式

      • scroll:相对于元素固定

      • fixed:相对于窗体固定

      • local:相对于元素内容固定

    • background:简化书写

      • 示例:background: url(bd_logo.png) no-repeat right top local;

    列表设置

    • list-style-type:图标类型

    • list-style-position:图标位置

    • list-style-image:图标图片

    • list-style:简化书写方案

      • 示例:list-style: circle outside url(qq.png);

    定位相关

    • position:元素定位

      • static:静态,默认方式,四个偏移属性无效

      • relative:相对定位,相对于自身在文档流的位置

      • fixed:固定定位,相对于窗体定位

      • absolute:绝对定位,相对于最先定位的祖先元素进行定位,直到body

    • z-index:z方向的偏移,没有单位,值为一个数即可,值越大越靠上。

    布局相关

    • float:浮动,left、right

    • clear:清除浮动,left、right、both

    • visibility:visible、hidden,隐藏时元素的位置会保留

    • display:

      • none,会隐藏元素,并且元素位置也没有了

      • block:块元素

      • inline:行元素

      • inline-block:行内块

    盒子模型

    • 尺寸:width、height

    • 边框:border、border-radius

    • 内边距:padding

    • 外边距:margin,垂直方向会取较大值,水平方向会叠加

    • 位置:

      • 宽度 = width + 左右边框 + 左右内边距 + 左右外边距

      • 高度 = height + 上下边框 + 上下内边距 + 上下外边距

    盒子模型:
      border:边框
      border-style: 线条的样式
      solid
      dashed
      double
      dotted
      ...
      border- 线条的粗细 像素为单位
      border-color: 线条的颜色

      padding:内边距
      padding: 10px 四个方向都是10px

      可以根据方向进行padding的定义:
      padding-top: 4px;
      padding-bottom: 0px;
      padding-left: 5px;
      padding-right: 6px;

      组合定义:padding: 10px 5px; 10px表示的是上下 5px表示的是左右
      padding:上 左右 下 ---》 padding: 10px 5px 8px;
      padding:1px 2px 3px 4px 上右下左

      margin:外边距
      margin: 10px 5px; 10px表示的是上下 5px表示的是左右
      margin:上 左右 下 ---》 margin: 10px 5px 8px;
      margin:1px 2px 3px 4px 上右下左

      特殊的:margin结合auto使用

    注意:
    1.样式属性: width height border padding margin
    2.border,padding,margin都有四个方向
    3.padding会放大整个盒子,margin就是指盒子与盒子之间的距离
    4.margin经常结合auto使用

    由于主要学习的是python方向,所以前端知识接触的很基础,并不全面,请多指教

  • 相关阅读:
    vivado 连接不上板子 There is no current hw_target
    excel 方框打钩
    2019新个税如何计算
    printf("loops %u / %u%c[K ", loops + 1, opts->loops, 27); printf("%cM", 27);
    HttpUtil
    Spring注入bean和aop的注意事项
    获取所有bean的名字
    不可见类有抽象父类,spring配置子类bean,注入父类,aop就可以切父类的方法
    实例/静态工厂方法得到bean
    注入抽象类的子类
  • 原文地址:https://www.cnblogs.com/jiangtao159/p/9821571.html
Copyright © 2011-2022 走看看