前端入门一之CSS知识详解

前言

  • CSS是前端三件套之一,在MarkDown中也完美兼容这些语法;
  • 这篇文章是本人大一学习前端的笔记;
  • 欢迎点赞 + 收藏 + 关注,本人将会持续更新。

文章目录

      • Emmet语法:
      • CSS基本语法:
        • css语法结构只有3种:选择器、样式属性和值
        • css代码风格:
      • 添加css的方法:
      • CSS选择器:
        • 基础选择器:
        • 复合选择器:
      • 字体属性
        • 字体复合属性:
      • 背景颜色属性:
        • 背景复合属性:
      • 文本属性:
      • CSS三大属性
        • 1、层叠性
        • 2、继承性
        • 3、优先级
      • 盒子模型:
        • 网页布局本质
          • 网页布局过程
          • 网页布局三大核心
        • 盒子模型组成
        • 边框:
          • 边框使用
          • 边框会影响盒子实际大小
        • 内边框:
          • 内边距的影响:
        • 外边距:
        • 一些放在css首位的选择器:
        • 圆角边框:
      • 简单盒子、文字阴影:
        • 盒子阴影:
        • 文字阴影:
      • 浮动:
        • 标准流:
        • 浮动:
      • 块元素、行内元素、行内块元素:
        • 块元素:
        • 行内元素:
        • 行内块:
        • 元素显示模式转换:
      • 定位
          • 边偏移
          • 静态定位(了解)
          • 相对定位 (重要)
          • 绝对定位(重要)
          • 子绝父相
          • 固定定位(重要)
          • 粘性定位(了解)
        • display 属性
        • opacity属性
        • z-index属性

Emmet语法:

  1. 生成标签,如:div + tab
  2. 如果想同时生成多个标签,如:div*3
  3. 如果有父子级标签,如:ul > li
  4. 兄弟关系标签,如:div + p
  5. 生成含有类名,如:.demo(默认是div) p.red
  6. 生成含有顺序,如:div$*3
  7. 如果想在标签内有内容{ }表示

CSS基本语法:

css语法结构只有3种:选择器、样式属性和值
css代码风格:
  • 样式格式:重点,展开格式
  • 样式大小书写:全部用小写
  • 空格规范:
    • 空格

添加css的方法:

  • 链接外部样式

  • 内部样式表:控制一个页面

  • 导入外部样式表

    第一步建立一个css
    <style><link rel="styleheet" href="链接">
    </style>
    
  • 内嵌样式:控制一个

CSS选择器:

  • 分为:基础选择器和复合选择器
基础选择器:
  • 标签选择器
  • 类选择器(class 点开头),一个html标签中可以有多个
  • 多类选择武器
  • id选择器(#名),一个html标签中只能有一个
  • 通配符选择器(*)
复合选择器:
  • 后代选择器
  • 子代选择器(选择最近一个子元素)
    • 元素1(父)>元素2(儿)
  • 并集选择器
    • 元素1,元素2
  • 伪类选择器
    • 如:a: link
    • a: visited
    • a: hover
    • a: active(也是规范的顺序)

字体属性

  • font-family:
  • font-size:
  • font-style:italic normal(默认)
  • font-weight:400 700
  • font-variant(小写转为大写)
字体复合属性:
font:font-style fone-weight font-size/line-height font-family
  • 必须保留size和family
  • 顺序一定要严格

背景颜色属性:

  • background-color:
    • background-color: 颜色取值
  • background-image:
    • background-image: url(图像地址)
  • background-repeat:
    • background-repeat: 取值
    • 取值:(默认)no-repeat repeat-x repeat-y
    • background-attachment:(固定或者滚动)
    • background-attachment:scroll/fixed
  • background-position:
    • background-position:位置取值
    • 位置取值:数值和方向位置
      • 注意:数组一定是 X Y结构
  • background: rgba(0,0,0,0.5); 必须四个值
背景复合属性:
background: 背景颜色 背景图片 背景重复 背景附件 背景位置
  • 顺序随意

文本属性:

  • color:
  • text-align:
    • 值:center left right
  • text-decoration:
    • none(默认) underline(下划线) overline(上划线) line-through(删除线)
  • text-indent:
    • px单位
    • em单位
  • 行间距:line-height

CSS三大属性

1、层叠性

相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突的问题

原则:

  • 样式冲突,遵循的原则是就近原则,哪个样式离结构近,就执行哪个样式,不会冲突

在这里插入图片描述

2、继承性

CSS中的继承: 子标签会继承父标签的某些样式,如文本颜色和字号。恰当地使用继承可以简化代码,降低 CSS 样式的复杂性。

口诀:龙生龙,凤生凤,老鼠生的孩子会打洞

在这里插入图片描述

3、优先级

在这里插入图片描述

注意点:

  • 权重是有4组数字组成,但是不会有进位。
  • 等级判断从左向右,如果某一位数值相同,则判断下一位数值。
  • 可以简单记忆法: 通配符和继承权重为0, 标签选择器为1,类(伪类)选择器为 10, id选择器 100, 行内样式表为 1000, !important 无穷大.
  • 继承权重为0.无论父类有多大权重

权重叠加

复合选择器,会有权重叠加

  • div ul li---------> 0,0,0,3
  • .nav ul li---------> 0,0,1,2
  • a:hover--------->0,0,1,1
  • .nav a --------------> 0,0,1,1

盒子模型:

网页布局的核心:利用CSS摆盒子

  • content padding margin border
网页布局本质

利用CSS实现盒子模型

网页布局过程
  1. 先准备好相关的网页元素,网页元素基本都是盒子 Box 。
  2. 利用 CSS 设置好盒子样式,然后摆放到相应位置。
  3. 往盒子里面装内容
网页布局三大核心
  • 盒子模型
  • 浮动
  • 定位
盒子模型组成

盒子模型:把 HTML 页面中的布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。

在这里插入图片描述

边框:
边框使用
  • 三部分:宽度 样式 颜色
    • border-width
    • border-color
    • border-style
      • solid(实线边框)
      • dashed(虚线框)
      • dotted(点线边框)
    • none
  • 复合边框:border:(无顺序)
  • 上下左右边框,如:border->top
  • 重点:border-collapse(控制相领的边框,表格的细线边框)
    • border-collapse:collapse
  • 注意:边框会影响盒子的实际大小
边框会影响盒子实际大小

边框会额外增加盒子实际大小,需要根据实际情况布局

内边框:
  • padding

    • padding-top
    • padding-bottom
    • padding-right
    • padding-left
  • padding的复合写性

    • padding:1px 代表上下左右都是1px
    • padding:1px 2px 代表上下是1px,左右是2px
    • padding:1px 2px 3px 代表上是1px,下是3px,左右是2px
    • padding:1px 2px 3px 4px ,代表顺时针
    内边距的影响:
    • 内容与边框有距离,增加了内边距
    • padding影响了盒子的实际大小
    • 解决方案,改变height和width的大小,或者不写height和width
外边距:
  • margin, 其他写法与padding一样
  • 外边距的典型运用:
    • 让盒子水平居中,属性值为:auto
  • 外边距合并
    • 嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷比较大
      • 解决方案:
      • 可以为父元素定义一个上边框
      • 可以为父元素定义内边框
      • 可以为父元素添加overflow:hidden;
      • 可以用浮动,定位

在这里插入图片描述

在这里插入图片描述

一些放在css首位的选择器:
  • 清除内外边距

    * {margin:0;padding:0;
    }
    
  • ul-li不显示小圆点

    li {list-style:none;
    }
    
圆角边框:
border-radius:length;
  • length:数值/百分比
  • 正方形想要圆,50%
  • 圆角矩形:设置高度的一般就行了
  • 也可以分开写,如:border-top-left-radius:
  • 也可以合起来写:border-radius:

简单盒子、文字阴影:

盒子阴影:
  • box-shadow:h-shadow v-shadow blur spread color inset
    • h-shadow v-shadow 必须有,h水平阴影 v垂直阴影
    • blur 模糊距离
    • spread 阴影尺寸
    • color 阴影的颜色 rgba(0,0,0,.3)
    • inset 将外部阴影改为内部种(默认外部阴影)
文字阴影:
  • text-shadow
  • 其余同上

浮动:

标准流:
  • 就是标签按照规定好默认方式排列
  • 最基本的页面布局
浮动:
  • float:none(默认)
    • left(左浮动)
    • right(右浮动)
  • 两个最重要的的特征
    1. 脱离标准普通流的控制,移动到指定位置 (托标)
    2. 浮动盒子不再保留原来的位置

块元素、行内元素、行内块元素:

块元素:
  • div(最金典)
  • h1-h6
  • p
  • ul、ol、dl
  • form
  • table
  • 特点
    • 独占一行
    • 高、宽度以及内边距都可以控制
    • 是一个融器
    • 注意:p h1-h6 内不可以存在块元素
行内元素:
  • a
  • strong
  • br
  • del
  • span(最经典)
  • textarea
  • 特点:
    • 一行可以多个
    • 高、宽不能设置
    • 默认宽就是本身内容宽度
    • 行内元素只能放在文本或者其它行内元素
行内块:
  • img
  • input
  • td
  • 特点:
    • 默认文本高度
    • 高度、宽度都可以控制
    • 一行可以多个
元素显示模式转换:
  • 转为块元素:display:block;
  • 转为行内元素:display:inline;
  • 转为行内块元素:display:line-block;

定位

定位:将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子

定位 = 定位模式 + 边偏移

定位模式用于指定一个元素在文档的定位方式。边偏移则决定了该元素的最终位置

边偏移
边偏移属性示例描述
toptop: 80px顶端偏移量,定义元素相对于其父元素上边线的距离
bottombottom: 80px底部偏移量,定义元素相对于其父元素下边线的距离
leftleft: 80px左侧偏移量,定义元素相对于其父元素左边线的距离
rightright: 80px右测偏移量,定义元素相对于其父元素右边线的距离
静态定位(了解)

静态定位是元素的默认定位方式,无定位的意思

语法:

选择器 {position: static;}
  • 静态定位按照标准流特性摆放位置,无边偏移
  • 静态定位在布局中很少用
相对定位 (重要)

相对定位是元素在位移位置的时候,是相对于他原来的位置来说的

语法:

选择器 {position: relative;
}

相对定位的特点:(重要)

  • 它是相对于自己原来的位置来移动的(移动位置的时候参照点是自己原来的位置)
  • 原来在标准流的位置继续占有
绝对定位(重要)

绝对定位是元素在移动的时候,是相对于它祖先元素来说的

语法:

选择器 {position: absolute;}

特点(重要):

  • 如果没有父元素或者祖先元素,则以浏览器为准定位
  • 如果祖元素有定位(相对、绝对、固定定位),则以最近定位元素为参考点
  • 绝对定位不再占有原先位置
子绝父相

因为父亲要占有位置,因此是相对定位,子盒子不需要占有位置,则是绝对定位

固定定位(重要)

固定定位是元素固定于浏览器可视区位置

选择器 {position: fixed;}

特点(重要):

  • 跟父元素没有关系
  • 不随滚动条滚动
  • 固定位置不在占有原先的位置
粘性定位(了解)

语法:

选择器 {position: sticky;
}
display 属性
  • display: none; 隐藏对象
  • display: block;
opacity属性

颜色透明

  • opacity: .5;
z-index属性

提高层级

  • z-index: 999; (999最高层级)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/465104.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leetcode | 88. 合并两个有序数组

题目描述 88. 合并两个有序数组 分析 题目不允许更改nums1的长度&#xff0c;要求原地更改。 题目其实不难&#xff0c;如果记住可以从后往前合并的解法&#xff0c;但是正向遍历的问题是什么呢&#xff1f; ——元素覆盖。那为什么负向遍历就不会有这个问题呢&#xff1f;…

跳蚤市场之商品发布功能

一 商品类别和小类的联动 以下是一个示例代码&#xff0c;展示了如何实现商品类别中大类和小类的联动。 商品大类选择框、小类选择框 的设计 html部分 <form id"category-form"><label for"major-category">大类&#xff1a;</label&g…

OpenAI 发布了新的事实性基准——SimpleQA

SimpleQA 简介 名为 SimpleQA 的事实性基准&#xff0c;用于衡量语言模型回答简短的事实性问题的能力。 人工智能领域的一个悬而未决的问题是如何训练模型&#xff0c;使其产生符合事实的回答。 目前的语言模型有时会产生错误的输出或没有证据证明的答案&#xff0c;这个问题…

Android camera2

一、序言 为了对阶段性的知识积累、方便以后调查问题&#xff0c;特做此文档&#xff01; 将以camera app 使用camera2 api进行分析。 (1)、打开相机 openCamera (2)、创建会话 createCaptureSession (3)、开始预览 setRepeatingRequest (4)、停止预览 stopRepeating (5)、关闭…

Javascript属性遮蔽问题

先了解一下Object.defineProperty()方法 Object.defineProperty() 静态方法会直接在一个对象上定义一个新属性&#xff0c;或修改其现有属性&#xff0c;并返回此对象。 //obj&#xff1a;要定义的对象 //prop&#xff1a;一个字符串或 Symbol&#xff0c;指定了要定义或修改…

vue3项目history模式部署404处理,使用 historyApiFallback 中间件支持单页面应用路由

vue3项目history模式部署404处理&#xff0c;使用 historyApiFallback 中间件支持单页面应用路由 在现代的 web 开发中&#xff0c;单页面应用&#xff08;SPA&#xff09;变得越来越流行。这类应用通常依赖于客户端路由来提供流畅的用户体验&#xff0c;但在服务器端&#xf…

【vim文本编辑器gcc编译器gdb调试器】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、vimvim安装vim常用快捷键vim使用vimtutor zh文档 二、gcc编译器安装gcc工具编译源代码 三、gdb调试器gdb安装gdb常用指令gdb简单上手使用gdb的单步调试功能 总结…

企业数字化转型的架构治理策略:核心问题、深度分析与优化路径

在当今的商业环境中&#xff0c;企业数字化转型已成为实现可持续发展、增强竞争力的战略选择。企业架构治理&#xff08;Enterprise Architecture Governance Capability, EAGC&#xff09;在数字化转型中扮演着保障架构一致性、提升变革效能的关键角色。本指南深入解析了如何通…

基于springboot+vue实现的农产品物流系统

基于springbootvue实现的农产品物流系统 &#xff08;源码L文ppt&#xff09;4-107 摘 要 随着现代信息技术的迅猛发展&#xff0c;农产品物流系统应运而生&#xff0c;成为连接生产者与消费者的重要桥梁。该系统采用java语言&#xff0c; Spring Boot框架&#xff0c;结合My…

基于uniapp和java的电动车智能充电系统软件平台的设计

文章目录 项目介绍具体实现截图技术介绍mvc设计模式小程序框架以及目录结构介绍错误处理和异常处理java类核心代码部分展示详细视频演示源码获取 项目介绍 对电动车智能充电系统进行设计和开发。通过使用本系统可有效地减少运营成本&#xff0c;提高管理效率。 根据近年来社会…

Jmeter命令监控CPU等指标

JMeter 命令行执行脚本得到的报告中&#xff0c;是没有CPU、内存使用率等监控数据的&#xff0c;但是可以使用JMeter插件帮忙。 一、下载jmeter-plugins-manager.jar 下载后将文件放到jmeter安装包lib/ext目录下。打开Jmeter》菜单栏》选项》Plugins Manager 二、安装PerfMon…

ubuntu20.04 加固方案-检查是否设置登录超时

一、编辑/etc/profile配置文件 打开终端。 使用文本编辑器&#xff08;如vim&#xff09;编辑/etc/profile 文件。 vi /etc/profile 二、添加配置参数 在打开的配置文件中&#xff0c;如图位置添加如下参数&#xff1a; TMOUT1800 export TMOUT三、保存并退出 在vim编辑器…

HarmonyOS使用arkTS拉起指定第三方应用程序

HarmonyOS使用arkTS拉起指定第三方应用程序 前言代码及说明bundleName获取abilityName获取 前言 本篇只说采用startAbility方式拉起第三方应用&#xff0c;需要用到两个必备的参数bundleName&#xff0c;abilityName&#xff0c;本篇就介绍如何获取参数… 代码及说明 bundle…

32位汇编——通用寄存器

通用寄存器 什么是寄存器呢&#xff1f; 计算机在三个地方可以存储数据&#xff0c;第一个是把数据存到CPU中&#xff0c;第二个把数据存到内存中&#xff0c;第三个把数据存到硬盘上。 那这个所谓的寄存器&#xff0c;就是CPU中用来存储数据的地方。那这个寄存器有多大呢&a…

江协科技STM32学习- P35 硬件I2C读写MPU6050

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

【大数据学习 | HBASE】habse的表结构

在使用的时候hbase就是一个普通的表&#xff0c;但是hbase是一个列式存储的表结构&#xff0c;与我们常用的mysql等关系型数据库的存储方式不同&#xff0c;mysql中的所有列的数据是按照行级别进行存储的&#xff0c;查询数据要整个一行查询出来&#xff0c;不想要的字段也需要…

【dvwa靶场:XSS系列】XSS (Reflected)低-中-高级别,通关啦

一、低级low 简单拿捏 <script>alert(123)</script>二、中级middle 源码过滤了script但是没有过滤大小写&#xff0c;改成大写S <Script>alert(123)</script>三、高级high 比中级高&#xff0c;过滤了script并且以及大小写&#xff0c;使用其他标…

NAT实验

一、网络拓扑 二、实验步骤 1.配ip地址 用缺省路由充当网关 2.配置telent服务 3.配置公网互通&#xff0c;在PC1上ping R3的公网地址&#xff0c;测试是否可以访问互联网 [R1]ip route-static 0.0.0.0 0 10.1.1.2 [R3]ip route-static 0.0.0.0 0 10.2.2.2 此时私网是ping不通…

Centos 7系统一键安装宝塔教程

服务器推荐青鸟云服务器&#xff0c;2H2G低至16元/月 官网地址&#xff1a; 所有产品_香港轻量云 2核 2G-A型_青鸟云 推荐Finalshell软件连接至服务器&#xff0c;下载地址&#xff1a; https://dl.hostbuf.com/finalshell3/finalshell_windows_x64.exe 下载完成后连接服务…