前端基础复习

news2024/11/24 20:28:49

1.什么叫HTML5?和原本的所说的HTML有什么区别?

  • 本质上html和html5是一样的的。

区别有:

1. 在文档类型声明上

HTML4.0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

HTML5.0

<!DOCTYPE html>

说明:在文档声明上,HTML代码很长,而HTML5只有简简单单的声明。

2.在结构语义上(语义化标签)

html:

没有体现结构语义化的标签,通常都是这样来命名的< div id=“header”>,这样表示网站的头部。

html5:

在语义上却有很大的优势。提供了一些新的标签,比如:< header>、< article>、< footer>、< article>、< aside>、< audio>...

2.html页面结构

<!-- <!DOCTYPE html>表示申明这是个html5标准的页面 -->
<!DOCTYPE html>
<!-- lang属性作用:声明当前页面的语言类型 -->
<html lang="en">
<head>
  <!-- meta 标签的功能是提供关于页面的元信息,能够设置编码集格式、提供文档作者、关键字、描述等多种信息,在 HTML 的头部可以包括任意数量的 meta 标签。 -->
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- title 标签是用来设置页面标题 -->
  <title>Document</title>
  <!-- link 标签定义文档与外部资源的关系。 -->
  <link rel="stylesheet" type="text/css" href="theme.css" />
  <!-- dns-prefetch告诉浏览器对指定域名预解析 -->
  <link rel="dns-prefetch" href="//img10.360buyimg.com">
</head>
<body>
  
</body>
<script></script>
</html>

3.base标签

规定页面上所有链接的默认 URL 和默认目标:

统一修改页面内部超链接的跳转方式

<head>
<base href="http://www.runoob.com/images/" target="_blank">
</head>
 
<body>
<img decoding="async" src="logo.png" width="24" height="39" alt="Stickman">
<a href="http://www.runoob.com">runoob.com</a>
</body>

如果你想某一个不新开网页跳转,那你在那个a标签上再单独设置target="_self"

4.style的三种引入方式

 1.行内样式

<标签 style="样式名:样式值;样式名:样式值;样式名:样式值;..."></标签>

2.内部样式表

<head>
    <style type="text/css">
       选择器 {
                  样式名 : 样式值;
                  样式名 : 样式值;
                  .....
             }
    </style>
</head>

3.引入外部css样式文件

 <link type="text/css" rel="stylesheet" href="css文件的路径" />

5.CSS选择器

文档链接->:CSS 选择器 | 菜鸟教程

常用选择器:

1.通配符选择器,*就代表所有选择器

 * {  
   color:pink;    
}

2.标签选择器

p {
    color: #fff;
}

3.id选择器(唯一)

#big{ /*id选择器*/
    color:red;
}

4.类选择器

.tt {
    color: pink;
}

5.伪类选择器

:link /*未访问的链接 */
:visited /*已访问的链接*/
:hover /*鼠标移动到链接上 */
:active /*选定的链接 (当我们点击不松开鼠标时的状态)*/
:disabled 按钮禁用时的样式
:after
:before

6.结构(位置)伪类选择器(CSS3)

:first-child 选取其父元素的首个子元素的指定选择器
:last-child 选取其父元素的最后一个子元素的指定选择器
:nth-child(n) 匹配属于其父元素的第N个元素,不论元素类型 n从0开始,如果n为even,则代表选中所有偶数列的元素,如果是odd,则是奇数
:nth-last-child(n) 选择器匹配属于其元素的第N个子元素,不论元素类型,从最后一个子元素开始计数, 你可以是关键词、数字、公式
:not(:first-child) 排除选择器

7.属性选择器

格式:(根据需要递进选择):
标签名【属性名】{ 声明;}
标签名【属性名=属性值】{ 声明;}
input[type='text']{
   color: pink;
}

8.:root 选择器

:root {
    --page-bg-mz:#F792C9;
}
.mz-topic {
    background-color: var(--page-bg-mz);
}
*   可继承的样式: font-size font-family color, UL LI DL DD DT;

*   不可继承的样式:border padding margin width height ;

6.CSS优先级

*   优先级就近原则,同权重情况下样式定义最近者为准;

*   载入样式以最后载入的定位为准;

优先级为:
   !important >  id > class > tag
    important 比 内联优先级高

 7.CSS单位

8.最小字体大小

现在网页普遍使用14px+,

ps:推荐偶数字号类似于12px,不要设置类似13px这样的奇数,避免一些不必要的bug,像ie6等老式浏览器会出现bug,而且设计师一般也不会给页面设计奇数的字号。

尽量使用系统默认字体,保证在任何用户的浏览器中都能显示。

前端页面 最小为12px,如果设置12px一下,浏览器会默认将字体变为12px,有时候有的需求需要12px以下的字体,需要使用css的 transform属性

9.引入特殊字体+字体压缩

1、引入特殊字体的方法

@font-face {
    font-family: 'DINOT-Bold';
    src:local('fontname Regular'),
        local('fontname'),
        url('/DINOT-Bold-min.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

.DINOT-Bold,.dinot-bold {
    font-family: 'DINOT-Bold';
}

"'/DINOT-Bold-min.ttf'"为字体文件的真实路径;

 2、字体压缩

详情见另一篇:前端字体压缩(免费简单易上手)_唐小亭的博客-CSDN博客

10.精灵图(雪碧图)

简单来讲,精灵技术就是一种处理网页背景图像的方式,它需要将一个页面中涉及到的所有或一部分较小的背景图像合并到一张较大的图片中,然后再将这个图片应用到网页种。通常情况下,我们只是将背景图像中那些较小的、零碎的图像集中到一个大的图像中,这个较大的图像被称为精灵图(也被称为雪碧图),如下图所示就是淘宝网上应用的一个精灵图:

精灵图目的:减少请求服务器的次数,提高页面加载的速度

使用方法:借助 background 或者 background-position 属性来定位背景图像的位置,示例代码见下:

 ul li:nth-child(1){
      background: url(./sprite.png) no-repeat 4px 1px;
}
ul li:nth-child(2){
      background: url(./sprite.png) no-repeat -38px 1px;
}

11、base64地址 

优势:

(1)、base64格式的图片是文本格式,将图片转化为字符串后,图片文件会随着html元素一并加载,占用内存小,降低了资源服务器的消耗。减少了服务器的请求次数,降低了服务器的开销。

(2)、不会造成跨域请求的问题。

(3)、不会有图片缓存未及时更新的问题。

缺点: 

(1)、base64格式的文本内容较多,存储在数据库中增大了数据库服务器的压力;

(2)、base64格式的内容太多,而且它是和html元素一起加载渲染的,所以加载网页的速度会降低,可能会影响用户的体验,而且因为其内容太多不利于页面维护。

(3)、IE6~9不支持使用base64

(4)、base64无法缓存,要缓存只能缓存包含base64的文件,比如js或者css文件,这比直接缓存图片要差很多,而且一般HTML改动比较频繁,所以等同于得不到缓存效益。

题外话:

 一般20KB以下的小图片适合用base64,网站的小图片小 logo 之类的可以使用 base64 图片来引入。

12.flex布局(弹性布局/弹性盒子)

相关属性:

属性描述
display指定 HTML 元素的盒子类型
flex-direction指定弹性盒子中子元素的排列方式
flex-wrap设置当弹性盒子的子元素超出父容器时是否换行
flex-flowflex-direction 和 flex-wrap 两个属性的简写
justify-content设置弹性盒子中元素在主轴(横轴)方向上的对齐方式
align-items设置弹性盒子中元素在侧轴(纵轴)方向上的对齐方式
align-content修改 flex-wrap 属性的行为,类似 align-items,但不是设置子元素对齐,而是设置行对齐
order设置弹性盒子中子元素的排列顺序
align-self在弹性盒子的子元素上使用,用来覆盖容器的 align-items 属性
flex设置弹性盒子中子元素如何分配空间
flex-grow设置弹性盒子的扩展比率
flex-shrink设置弹性盒子的收缩比率
flex-basis设置弹性盒子伸缩基准值

效果示例:

详情可参考:CSS flex布局(弹性布局/弹性盒子) 

13.CSS变量

:root{ 
  --bg-color: #cccccc;
}
.father{ 
  background-color: var(--bg-color);
}

14.CSS设置字体颜色(多种方法)

/* 用颜色名称 */
color: green;

/* rgb() 函数 */
color: rgb(255,0,0);

/* rgba() 函数 */
color: rgba(255,0,0,0.5);
    
/* 十六进制码,使用的是三对两位相同的十六进制数,#后6位数可以简写为3位数*/
color: #EE88EE;
color: #E8E;

/* hsl() 函数 */
color: hsl(90, 100%, 0);

/* hsla() 函数 */
color: hsla(90, 100%,100%, 0.5);

 15.CSS常用单位

1、px(像素),是固定大小的单位;

2、em,相对长度单位,相对于父级元素的字体大小;

3、rem,相对长度单位,是相对于根节点(或者是html节点)的字体大小;

4、%,相对长度单位,相对于父级元素;(用得少)

5、rpx,微信小程序独有的;具体换算规则参考:WXSS | 微信开放文档

视窗单位vw,vh,vmax,vmin:相对单位;它们相对的是视窗(viewport)的大小

        1、vh:1vh代表视口高度的1%;

        2、1vw代表视口宽度的1%;

        3、vmax:选取vw/vh中最大的一个;

   4、vmin:选取vw/vh中最小的一个;

16、CSS媒体查询+响应式布局

要实现响应式布局,常用的方式有以下几种:

  • 使用 CSS 中的媒体查询(最简单);
  • 使用 JavaScript(使用成本比较高);
  • 使用第三方开源框架(例如 bootstrap,可以很好的支持各种浏览器);

设置 meta 标签

设置 meta 标签来告诉浏览器,让视口(网页的可视区域)的宽度等于设备的宽度,并禁止用户对页面的缩放,如下所示:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

在设置视口时需要注意,视口就是网页可见区域的尺寸,设置视口时只设置宽度就行,不用在乎高度,具体高度由网页内容自动撑开。上面 meta 标签中内容的含义如下:
  • viewport:即视口,表示网页的可视区域;
  • width:控制 viewport 的大小,可以指定一个具体的值,例如 600,也可以是由关键字组成的特殊值,例如 device-width 就表示设备的宽度;
  • initial-scale:表示初始缩放比例,也就是页面第一次加载时的缩放比例;
  • maximum-scale:表示允许用户缩放的最大比例,范围从 0 到 10.0;
  • minimum-scale:表示允许用户缩放到最小比例,范围从 0 到 10.0;
  • user-scalable:表示用户是否可以手动缩放,“yes”表示允许缩放,“no”表示禁止缩放。

媒体查询

根据指定的条件,针对不同的媒体类型(screen print)定义不同的 CSS 样式,让使用不同设备的用户都能得到最佳的体验。

关于媒体查询有以下三种实现方式:

1、直接在 CSS 文件中使用,示例代码如下:

@media (max-width: 320px) {
    /*0~320*/
    body {
        background: pink;
    }
}
@media (min-width: 321px) and (max-width: 375px) {
    /*321~768*/
    body {
        background: red;
    }
}
@media (min-width: 376px) and (max-width: 425px) {
    /*376~425*/
    body {
        background: yellow;
    }
}
@media (min-width: 426px) and (max-width: 768px) {
    /*426~768*/
    body {
        background: blue;
    }
}
@media (min-width: 769px) {
    /*769~+∞*/
    body {
        background: green;
    }
}

2、使用 @import 导入,示例代码如下:

@import 'index01.css' screen and (max-width:1024px) and (min-width:720px)
@import 'index02.css' screen and (max-width:720px)

3、在 link 标签中使用,示例代码如下:

<link rel="stylesheet" type="text/css" href="index01.css" media="screen and (max-width:1024px) and (min-width:720px)"/>
<link rel="stylesheet" type="text/css" href="index02.css" media="screen and (max-width:720px)"/>

17、CSS计算属性calc( ) 

css3的一个新增的功能

calc()语法:
加 (+)、减(-)、乘(*)、除(/),注意的是:乘数中至少要有一个是 <number> 类型的、被除数(/右面的数)必须是 <number> 类型的

calc()使用通用的数学运算规则,但是也提供更智能的功能:
使用“+”、“-”、“*” 和 “/”四则运算;
可以使用百分比、px、em、rem等单位;
可以混合使用各种单位进行计算;
表达式中有“+”和“-”时,其前后必须要有空格,如”widht: calc(100% + 5px)”;
表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。

 注意:在CSS预处理器less和sass中,使用方法可能会与预处理器中的方法冲突

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

密码加密之bcrypt

在这里是用的bcrypt加密算法&#xff0c;这种现在比较流行 而且无法进行解密 引入依赖 <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</ar…

JetBrains AppCode 2023.1 (macOS x64、aarch64) - 适用于 iOS/macOS 开发的智能 IDE

Xcode 14.3 compatibility, Swift refactorings and intentions, the IDE’s UI, and Kotlin Multiplatform Mobile. 请访问原文链接&#xff1a;https://sysin.org/blog/jb-appcode-2023/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a…

技术分享 | OMS 初识

作者&#xff1a;高鹏 DBA&#xff0c;负责项目日常问题排查&#xff0c;广告位长期出租 。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 本文主要贡献者&#xff1a;进行OMS源码分析的…

GPT-4,大增长时代的序幕

虽然我们早在 2017 年就预测了超大模型的到来&#xff0c;因此才搞了分布式深度学习框架 OneFlow&#xff08;github.com/Oneflow-Inc/oneflow/&#xff09;&#xff0c;且 2020 年的 GPT-3 也掀起了大模型热潮&#xff08;OneFlow—— 让每一位算法工程师都有能力训练 GPT&…

BGP相关实验

实验要求及其拓扑图 划分好IP的拓扑图 实验分析 1,AS1存在两个环回&#xff0c;一个地址为192.168.1.0/24该地址不能在任何协议中宣告&#xff0c;AS3中存在两个环回&#xff0c;一个地址为192.168.2.0/24该地址不能在任何协议中宣告&#xff0c;最终要求这两个环回可以互相…

30天学会《Streamlit》(4)

30学会《Streamlit》是一项编码挑战&#xff0c;旨在帮助您开始构建Streamlit应用程序。特别是&#xff0c;您将能够&#xff1a; 为构建Streamlit应用程序设置编码环境 构建您的第一个Streamlit应用程序 了解用于Streamlit应用程序的所有很棒的输入/输出小部件 第4天 - st…

【NLP】自然语言处理_NLP入门——分词和词性标注

【NLP】自然语言处理_NLP入门——分词和词性标注 文章目录 【NLP】自然语言处理_NLP入门——分词和词性标注1. 介绍2. 概念和工具2.1 分词2.2 词性标注2.3 NLTK2.4 Jieba2.5 LAC 3. 代码实现举例3.1 分词3.1.1 使用nltk进行分词3.1.2 使用jieba进行分词3.1.3 使用LAC进行分词 3…

定义全局变量property与getprop

authordaisy.skye的博客_CSDN博客-Qt,嵌入式,Linux领域博主 adb调试 adb shell getprop .adb logcat 报错 init: sys_prop: permission denied uid:1006 name:ro.camera.gc02m1 在linux驱动中查找 find ./ -name *.c | xargs grep -n "property_set" find ./ -n…

《2023金融科技·校园招聘白皮书》新鲜出炉|牛客独家

数智创新时代&#xff0c;科技人才为先。 眼下&#xff0c;在建设“数字中国”的时代背景下&#xff0c;金融行业全面数智化转型已箭在弦上。政策端&#xff0c;金融行业为中共中央、国务院印发《数字中国建设整体布局规划》的7大重点行业之一。 资本端&#xff0c;仅2022年三…

【C++ 四】函数、指针

函数、指针 文章目录 函数、指针前言1 函数1.1 概述1.2 函数定义1.3 函数调用1.4 值传递1.5 函数常见样式1.6 函数声明1.7 函数分文件编写 2 指针2.1 指针基本概念2.2 指针变量定义和使用2.3 指针所占内存空间2.4 空指针和野指针2.5 const 修饰指针2.6 指针和数组2.7 指针和函数…

Cross compiling Windows binaries from Linux

IntroductionWhy? SpeedCostContainers k8sRejected Strategies Using x86_64-pc-windows-gnuUsing wine to run the MSVC toolchainHow? Prerequisites1. Setup toolchain(s)2. Acquire Rust std lib3. Acquire CRT and Windows 10 SDK4. Override cc defaults5. ProfitBon…

机器学习 探索性数据分析

文章目录1. 数据总览1.1 查看数据的维度1.2 查看列的数据类型1.3 查看索引1.4 获取数据值1.5 数据集相关信息概览1.6 查看数据的统计信息1.7 查看前3行数据2. 缺失值查看与处理2.1 缺失值查看2.2 缺失值处理3. 异常值检测与处理3.1 异常值检测3.2 异常值处理4. 特征分析4.1 查看…

计算机网络考试复习——第4章 4.6

理想的路由算法&#xff1a;几个特点 1.算法必须是正确和完善的 2.算法在计算上应该简单 3.算法能适应通信量和网络拓扑的变化具有自适应性也称为稳健性 4.算法应该具有稳定性 5。算法应该是公平的 6.算法应该是最佳的 关于“最佳路由”——不存在一种绝对的最佳路由算法…

第二章 法的内容与形式

目录 第一节 法的内容与形式的概念 一、法的内容与形式的含义 二、法的内容和形式的关系 第二节 法律权利与法律义务 一、权利和义务的概念 二、权利和义务的分类 三、权利与义务的联系 第三节 法的成文形式与不成文形式 一、历史上各种法的表现形式 二、成文法与不成文…

defaultdict 默认值

文章目录 前言语法setdefault()和defaultdict()的区别setdefault()defaultdict() 前言 在字典中查找某一个值的时候&#xff0c;若key不存在就会返回一个keyerror错误而不是一个默认值&#xff0c;如果想要返回一个默认值可以使用defaultdict函数。 defaultdict是python内建dic…

从0搭建Vue3组件库(三): 组件库的环境配置

本篇文章将在项目中引入 typescript,以及手动搭建一个用于测试组件库组件 Vue3 项目 因为我们是使用 ViteTs 开发的是 Vue3 组件库,所以我们需要安装 typescript、vue3,同时项目将采用 Less 进行组件库样式的管理 pnpm add vuenext typescript less -D -w 使用pnpm如果要安装在…

【C语言】void 和 void* 类型

一. void 类型 1. 为何不能定义 void 类型的变量 为什么不能定义 void 类型的变量&#xff1f;因为它是空类型&#xff0c;不能够为变量提供空间吗&#xff1f; 定义变量的本质是开辟空间&#xff0c;我们用 sizeof 来计算 void 类型的大小&#xff1a; 在vs2017下&#xf…

Direct3D 12——模板——平面阴影效果

平行光阴影 图展示了由平行光源经物体所投射岀的阴影。给定方向为L的平行光源&#xff0c;并用r&#xff08;t&#xff09;p tL来表 示途经顶点p的光线。光线r &#xff08;t&#xff09;与阴影平面(n,d&#xff09;的交点为S。以此光源射出的光线照射到物体的各个顶点&#x…

Stable Diffusion本地搭建windows and linux(附搭建环境)

linux搭建过程以centos为例 1.使用git工具下载项目文件到本地文件夹&#xff0c;命令如下&#xff1a; git clone https://github.com/IDEA-CCNL/stable-diffusion-webui.git然后进入该文件夹&#xff1a; cd stable-diffusion-webui2.运行自动化脚本 运行webui.sh安装一些p…

2023最新接口自动化测试面试真题详解,看完轻松拿捏HR

目录 一.有接口测试工具为什么还需要开发自动化框架或自动化平台。 二.接口自动化中如果一个接口请求不通该如何排查 三.你平常做接口自动化的过程中发现过哪些bug?多吗&#xff1f; 四.你在接口自动化中是怎么校验接口返回结果是否正确&#xff1f; 五、接口自动化回归过程中…