前端开发技术之css样式学习笔记分享

时间:2021-09-16
本文章向大家介绍前端开发技术之css样式学习笔记分享,主要包括前端开发技术之css样式学习笔记分享使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

 概述

前端培训开发中将前端结构化,html 是文档结构、css 是设置样式(美化页面)、js是逻辑结构

重点是 "选择器" 和 "盒子模型"

发展史

CSS1.0CSS2.0:DIV(块)+CSS,HTML与CSS结构分离的思想,网页变得简单,SEOCSS2.1:浮动,定位CSS3.0:圆角、阴影、(动画…浏览器兼容性~)

快速入门

1. 位置

  1. 行内关联 :就是在标签内部设置样式,在标签内 写style <div id ="env" style ="color:red;"></div>
  2. 内部关联和 html 在一个文件中,即写入head 里面<html>
    <head>
    <style> 样式内容 </style>
    </head>
    <body></body>
    </html>
  3. 外部关联就是将css 专门写成一个单独的文件<link rel="stylesheet" href="css/style.css" />

2. 导入方式

主要是外部关联的方式,如何导入

  1. 使用 link 关键字,在href 加入地址
  2. 使用improt <style>@import url("css/style.css");</style>

3. 优先级

就近原则,谁离的近 谁的样式就生效 ---行内样式离的最近

基本选择器

1. 标签选择器 --标签名

<style>
 body{
      //具体的样式
    }
 div{
  //具体的样式
}
</style>

2. 类选择器 -- ".类名"

<style>
 .classname{
      //具体的样式
    }
</style>

3. Id 选择器 --“#id名”

<style>
 #env{
      //具体的样式
    }
</style>

4. 优先级关系

id 选择器>类选择器>标签选择器

高级选择器

1. 层次选择器

可以依据 html 文档数的层次来进行 样式的选择设置

后代选择器

<style>
  div p{
      //div 标签下的 p 标签样式
    }
</style>
  1. 子代选择器
<style>
  div>p{
      //div 标签下的第一个 p 标签样式
    }
</style>
  1. 相邻/兄弟选择器--/相邻兄弟选择器:只选择一个,相邻(向下)/
<style>
  .classname+p{
      //classsname 后一个标签---非子标签
    }
</style>
  1. 通用选择器
<style>
  .classname-p{
      //classsname 后所有的标签
    }
</style>

2. 伪类结构选择器

  1. 概述:什么是伪类,就是有逻辑的,并没有直接指明是 那里变化,就是依据逻辑位置来判断
  2. 使用:标签、类、id 后 使用:
<style>
       ul li:first-child{/*ul的第一个子元素*/
           background: aqua;
      }
       ul li:last-child{/*ul的最后一个子元素*/
           background: blue;
      }
       /*选中p1:定位到父元素,选择当前的第一个元素
          选择当前p元素 的父级元素,选中父级元素的第一个,
⚠️⚠️⚠️注意:并且是当前元素才生效!*/
       p:nth-child(1){
           background: orange;
      }
       p:nth-of-type(2){/*选中父元素下的,第2个p元素*/
           background: red;
      }
       a:hover{
           color: green;
      }
   </style>

3. 属性选择器 --常用

属性名=属性值(正则)

  1. = 表示绝对等于
  2. *=表示包含
  3. ^=表示以...开头
  4. $=表示以...结尾
  5. 存在id属性的元素a[]{}
<style>
     a[id]{
            background: yellow;
        }
a[id=first]{/*id=first的元素*/
    background: green;
}
a[class*="links"]{/*class 中有links的元素*/
    background: bisque;
}
a[href^=http]{/*选中href中以http开头的元素*/
    background: aquamarine;
}
a[href$=pdf]{/*选中href中以http开头的元素*/
    background: aquamarine;
}
</style>

文字美化

font-family:字体

font-size:字体大小

font-weight:字体粗细

颜色–>color   rgb   rgba

文本对齐方式–>text-align:center

首行缩进–>text-indent:2em

行高–>line-height:300px;

下划线–>text-decoration
> text-decoration:underline/*下划线*/
> text-decoration:line-through/*中划线*/
> text-decoration:overline/*上划线*/
> text-decoration:none/*超链接去下划线*/

图片和文字 中心线在一行 img,span{vetical-align:middle}

背景:background

渐变背景网址:https://www.grabient.com

盒子模型

  1. margin --外边距离:就是容器(元素)边框离父 容器的边距位置可以巧妙的使用外边框,使容器居中
  2. padding -- 内边距:边框 向内 一圈的距离
  3. border --边框 :就是容器的框框,参数 border:粗细 样式 颜色border:1px solid red;边框 style 参数:none定义无边框。hidden与 "none" 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突。dotted定义点状边框。在大多数浏览器中呈现为实线。dashed定义虚线。在大多数浏览器中呈现为实线。solid定义实线。double定义双线。双线的宽度等于 border-width 的值。groove定义 3D 凹槽边框。其效果取决于 border-color 的值。ridge定义 3D 垄状边框。其效果取决于 border-color 的值。inset定义 3D inset 边框。其效果取决于 border-color 的值。outset定义 3D outset 边框。其效果取决于 border-color 的值。inherit规定应该从父元素继承边框样式。
  4. 盒子的大小计算:margin+border+padding+内容,不然会有对不齐--或者windows 窗口出现滑块

浮动

1. 标准文档流

文档流指的是元素排版布局过程中,元素会默认自动从左往右,从上往下的流式排列方式。并最终窗体自上而下分成一行行,并在每行中从左至右的顺序排放元素。

标准文档流的两种等级:

块级元素 <div>\ <h>\ <li>

行级元素 <p>\ <span>

2. dipaly

  1. 参数block:块元素inline行内元素inline-block是块元素,但是可以内联,在一行none消失
  2. 使用示例:<!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--block 块元素
    inline 行内元素
    inline-block 是块元素,但是可以内联 ,在一行
    -->
    <style>
    div{
    width: 100px;
    height: 100px;
    border: 1px solid red;
    display: inline-block;
    }
    span{
    width: 100px;
    height: 100px;
    border: 1px solid red;
    display: inline-block;
    }
    </style>
    </head>
    <body>
    <div>div块元素</div>
    <span>span行内元素</span>
    </body>
    </html>

3. float

left

左浮动

right

右浮动

clear:both

3. 对比

定位(重点)--后续

1. 相对定位

相对于自己原来的位置偏移

2. 绝对定位(absolute)

基于某一位置进行定位:上下左右~ 相对于网页 位置不动

1、没有父级元素定位的前提下,相对于浏览器定位

2、假设父级元素存在定位,我们通常会相对于父级元素进行偏移

3、在父级元素范围内移动

总结:相对于父级或浏览器的位置,进行指定的偏移,绝对定位的话,它不在标准文档流中,原来的位置不会被保留

3. 固定定位(fixed)

在某一位置固定不动

比如:导航栏位于浏览器上方位置,固定不动--execle 的锁定位置

层级(z-index)

和ps中的图层概念相似,可以相互覆盖--遮罩

可以和 透明度 (opacity) 相互配合使用


原文地址:https://www.cnblogs.com/xiaobaizaixianzhong/p/15292646.html