IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 2021-11-15 入门前端VScode必装的常用插件 HTML+CSS常用属性速记. -> 正文阅读

[开发工具]2021-11-15 入门前端VScode必装的常用插件 HTML+CSS常用属性速记.

Html + Css 学习

一、VSCode常用 ( 前端还在学习, 待更新… )

//1. VScode常用快捷键
* 新建文件:ctrl + N
* 切换自动换行:alt + Z
* 复制当前行:ctrl + C;ctrl + V* 执行在默认浏览器 :alt + B;
* 设置vscode文件折叠属性: 打开设置 -> 搜索compact -> 勾选
* (Win10桌面上)直接打开Powershell窗口: shift+右键
* 打开终端: "ctrl+`"
* vue_shop项目: 每次复制过去,记得导入node_modules和npm install; 开启:先开node app.js;再开vue ui;

//2.VScode我的常用插件
1.Debugger for Chrome:
2.A Touch of Lilac Theme:
3.Auto Close Tag: 同时关闭首尾标签?
4.Auro Rename Tag
5.background: 设置图片背景?
6.Beautify: 美化代码?
7.Bracket Pair Colorizer: 
8.Chinese: 中文显示?
9.CSS Peek: 
10.css-class-intellisense: 
11.EditorConfig for VS Code:
12.ESLint: 
13.FreeMarker: 
14.GitLens -- Git supercharged: 
15.Highlight Matching Tag: 
16.HTML CSS Support: 
17.HTML to CSS autocompletion: 
18.JavaScript (ES6) code snippets:
19.Live Server: 
20.markdownlint: 
21.Meterial Icon Theme: 文件图标?
22.open in browser: 打开在浏览器?
23.Path intellisense: 
24.Vetur: vue代码颜色插件.
25.Vue Theme: vue颜色主题?
26.JS-CSS-HTML Formatter: 格式化代码
27.Prettier-Code formatter:
28.
29.
30.

//3. VScode必须要配置的设置???
3.1 设置代码自动保存: 文件→首选项→设置→搜索框输入"autosave"→设置为afterDelay模式,1000ms自动保存!
3.2 

二、HTML

2.1 HTML 初识

  • HTML注释:

  • 「HTML」(Hyper Text Markup Language):超文本标记语言

2.2.1 html常用标签

<!-- 1.html5文档结构基础标签 -->
<!DOCTYPE html> 声明为 HTML5 文档
<html> 元素是 HTML 页面的根元素
<head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8。
<title> 元素描述了文档的标题
<body>  元素包含了可见的页面内容

<!-- 2.1 排版标签 -->
<h1> 标题标签,有<h1>~<h6>六个标签.
<p>  段落标签;
<hr> 水平线标签;
<br> 换行标签;
<div><span>: 网页布局中最主要的2个盒子标签, 没有语义.
    
<!-- 2.2 排版标签,以下标签尽量用CSS实现效果 -->    
<b><strong> 文字以粗体显示标签;
<i><em> 文字以斜体显示    
<s><del> 文字以加删除线显示
<u><ins> 文字以加下划线显示    
    
<!-- 3. 含复杂属性的标签 -->
<!-- 3.1 图像标签 -->
<img src="images/pic.jpg" width="300" height="300" border="3" alt="图像不能显示时的替换文本" title="鼠标悬停显示内容" />
    
<!-- 3.2 链接标签(重点) -->
<a href="#/跳转目标" target="目标窗口的弹出方式">*文本或图像*</a>
target="_self":  默认窗口弹出方式
target="_blank":  新窗口弹出
<a href="#two"><h3 id="two">第2集</h3>:  锚点
    
<!-- 3.3 表格标签 (属性:border, cellspacing, cellpadding, width, height, align, rowspan, colspan) -->    
<table>
  <caption>表格标题, 居中显示在表格之上</caption>
  <tr>
    <th>表头单元格标签</th>
    ...
  </tr>
  <tr>
    <td>单元格</td>
    ...
  </tr>
  ...
</table>

<!-- 3.4.1 列表标签:无序列表ul (<li>与</li>之间相当于一个容器,可以容纳所有元素) -->
<ul>
  <li>列表项1</li>
  <li>列表项2</li>
  <li>列表项3</li>
  ......
</ul>
<!-- 3.4.2 列表标签:无序列表ol (常用的type属性值分别为是1,a,A,i,I) -->
<ol type="A"> 
  <li>列表项1</li>
  <li>列表二</li>
  <li>列表三</li>
</ol>
    
<!-- 3.4.3 列表标签:自定义列表dl (自定义列表常用于对术语或名词进行解释和描述) -->
<dl>
  <dt>名词1</dt>
  <dd>名词1解释1</dd>
  <dd>名词1解释2</dd>
  ...
  <dt>名词2</dt>
  <dd>名词2解释1</dd>
  <dd>名词2解释2</dd>
  ...
</dl>
    
<!-- 3.5 表单标签 (<input />标签为单标签, 含属性:type, name, value, size, checked, maxlength) -->
<input type="属性值" value="你好">
//常用的type属性如下:
<input type="text" name="username" value="请输入用户名" maxlength="6">  =>单行文本输入框
<input type="password" name="pwd">  =>密码输入框
<input type="radio" name="sex" value="" checked="checked">  =>单选按钮
<input type="checkbox" name="hobby" value="打豆豆" checked="checked">  =>复选框
<input type="button" value="获取短信验证码">  =>普通按钮
<input type="submit" value="免费注册">  =>提交按钮
<input type="reset" value="重新填写" >  =>重置按钮
<input type="image" >  =>图像形式的提交按钮
<input type="file" >   =>文件域
    
<!-- 3.6 label标签的使用? -->
    <!-- 第一种: 用label标签直接包含input表单,适合单个表单选择 -->
    <label> 用户名: 
        <input type="radio" name="usename" value="请输入用户名">   
    </label>
    <!-- 第二种:for 属性规定 label 与哪个表单元素绑定(通过id)。 -->
    <label for="sex"></label>
    <input type="radio" name="sex" id="sex">
    
<!-- 3.7 文本域标签 (cols="每行中的字符数" rows="显示的行数", 我们实际开发不用.) -->
<textarea >
    文本内容
</textarea>

<!-- 3.7 select下拉列表标签 -->
<select>
  <option selected ="selected">选项1</option>
  <option>选项2</option>
  <option>选项3</option>
  ...
</select>

<!-- 3.8 form表单域标签  -->
<form action="url地址" method="提交方式:get/post" name="表单名称">
  各种input表单控件
</form>

<!-- 3.9 iframe标签(基本不使用!) -->
* iframe 标签用于在一个页面中嵌入另一个页面.
* 配合 a 标签使用时, 可以用a标签指定 iframe指向的页面.
<a href="http://www.so.com" target="iframe-test1">显示360搜索</a>
    <iframe name="iframe-test1" width="600" height="600" src="./12-select下拉表单.html"></iframe>
  • HTML基础面试题
  1. GET 和 POST 的区别
    • GET在浏览器回退时是无害的,而POST会再次提交请求。
    • GET请求会被浏览器主动cache,而POST不会,除非手动设置。
    • GET请求只能进行url编码,而POST支持多种编码方式。
    • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
    • GET请求大小一般是(1024字节),http协议并没有限制,而与服务器,操作系统有关,POST理论上来说没有大小限制,http协议规范也没有进行大小限制,但实际上post所能传递的数据量根据取决于服务器的设置和内存大小。
    • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
    • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
  1. link和@import的区别?

    1、从属关系区别:
    link属于html标签,而@import是css提供的。
    2、加载顺序区别:
    页面被加载时,link会同时被加载,而@import引用的css会等到页面被加载完再加载。
    3、兼容性区别:
    import只在IE5以上才能识别,而link是html标签,无兼容问题。
    4、dom可操作性区别:
    可以通过JS 操作 DOM ,插入link标签来改变样式;由于 DOM 方法是基于文档的,无法使用@import的方式插入样式
    5、权重区别:
    如果已经存在相同样式,@import引入的这个样式将被该 CSS 文件本身的样式层叠掉,表现出link方式的样式权重高于@import的权重这样的直观效果。
    (简而言之,link和@import,谁写在后面,谁的样式就被应用,后面的样式覆盖前面的样式。)

  1. src与href的区别?

    1、href 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接。
    2、src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。

2.2.2 HTML特殊字符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKVIfWMJ-1636971054504)(learnPic\html特殊字符.jpg)]

2.3 HTML5 新增的语义化标签

<!-- 新增的布局标签.
	注意: 1.在IE9中, 需要把这些元素转化为块级元素(display: block;).
		  2.这些标签在移动端更常用. -->
* <header>: 头部标签
* <nva>: 导航标签
* <article>: 内容标签
* <section>: 块级标签(定义文档某个区域)
* <aside>: 侧边栏标签
* <footer>: 尾部标签
    
<!-- 新增的多媒体标签 -->
<audio>: 音频
<vedio>: 视频
    
<!-- 新增的input类型 -->
<input type="** number/ tel/ search/** email/ url/ date/ time/ month/ week/ color">
    
<!-- 新增的表单属性 -->
<form action="">
    <input type="search" name="sear" id="" 
           required="required"    //表示必填.
           placeholder="文字提示"  //表单的提示信息.
           autofocus="autofocus"  //鼠标自动聚焦属性.
           autocomplete="off/on"  //显示浏览器基于之间键入过的值.>
    <input type="file" name="" id="" 
           multiple="multiple">   //可以多选文件提交.
    <input type="submit" value="提交">
</form>

三、CSS

3.1 初识CSS

  • **「 CSS」**CSS(Cascading Style Sheets)通常称为CSS样式表或层叠样式表(级联样式表)。
  • 「CSS注释」/* 这是CSS中的注释. */

3.1 引入CSS样式表

「1.行内式(内联样式)」

/* 通过标签的style属性来设置元素的样式, 缺点是没有实现样式和结构相分离。*/
<标签名 style="属性1:属性值1; 属性2:属性值2; 属性3:属性值3;"> 内容 </标签名>
例如:
<div style="color: red; font-size: 12px;">青春不常在,抓紧谈恋爱</div>

「2.内部样式表(内嵌样式表)」

/* 也称为内嵌式,将CSS代码集中写在HTML文档的head头部标签中,并且用style标签定义。缺点是没有彻底分离结构与样式 */
<head>
<style type="text/CSS">
    选择器(选择的标签) { 
      属性1: 属性值1;
      属性2: 属性值2; 
      属性3: 属性值3;
    }
</style>
</head>

「3.外部样式表(外链式)」

/* 
也称链入式,是将所有的样式放在一个或多个以.css为扩展名的外部样式表文件中,通过link标签将外部样式表文件链接到HTML文档中。
rel:定义当前文档与被链接文档之间的关系,在这里需指定为“stylesheet”,表示被链接的文档是一个样式表文件。
href:定义所链接外部样式表文件的URL,可以是相对路径,也可以是绝对路径。
*/
<link rel="stylesheet" href="index.css">

3.3 CSS选择器: 基础选择器, 复合选择器, 伪类选择器

3.3.1「 CSS基础选择器总结」

选择器作用缺点用法
标签选择器可以选出所有相同的标签.不能差异化选择.p { color:red;}
类选择器可以选出1个或者多个标签.可以根据需求选择..nav { color: red; }
id选择器一次只能选择器1个标签.只能使用一次(不推荐使用).#nav {color: red;}
通配符选择器选择所有的标签.会匹配页面所有的元素,降低页面响应速度(不推荐使用).***** {color: red;}

3.3.2「 CSS复合选择器总结」

选择器作用特征隔开符号及用法
后代选择器用来选择元素后代是选择所有的子孙后代.符号是空格: .nav a
子代选择器选择 最近一级元素只选亲儿子.符号是> : .nav>p

/* 8.1 链接伪类选择器: 跟链接相关, 注意记住LVHA的声明顺序-> :link/:visited/:hover/:active;
8.2 :focus选择器: 跟表单相关, 记住input:focus{…} */

3.3.3 「CSS3 - 属性选择器」

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kx4RiPIK-1636971054506)(learnPic\CSS3属性选择器.png)]

3.3.4 「CSS3 - 结构伪类选择器」

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCqG1V77-1636971054506)(learnPic\CSS3 - 结构伪类选择器.png)]

nth-child(n)参数n详解: n可以是数字、关键字、公式; 常见的关键字有 even 偶数、odd 奇数;
常见的公式如下(如果n是公式,则从 0 开始计算, 必须写成类似`2n 或 2n+1 或 -n+5`的公式), 但是第 0 个元素或者超出了元素的个数会被忽略.

3.3.5 「CSS3 - 伪元素选择器」

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cvj4hllt-1636971054508)(learnPic\CSS3 - 伪元素选择器.png)]

伪元素选择器注意事项
1. before 和 after 必须有 content 属性; before 在内容前面,after 在内容后面.
2. before 和 after 创建的是一个元素,但是属于行内元素
3. 创建出来的元素在 Dom 中查找不到,所以称为伪元素. 伪元素和标签选择器一样,权重为 1

3.4 常用属性样式?

  • CSS基础属性

    //1.CSS字体样式--font字体
    font-style:  用于定义字体风格,如设置斜体、倾斜或正常字体.
    font-weight: 用于设置字体粗细(normal, bold, 100~900).
    font-size:   用于设置字号(em, *px*, in, cm, mm, pt).
    font-family: 用于设置哪一种字体.
    font: 综合设置字体样式.
    /* 选择器 { font: font-style  font-weight  font-size/line-height  font-family;}
    注意: 使用font属性时,必须按上面语法格式中的顺序书写,不能更换顺序,各个属性以 空格 隔开.
    其中不需要设置的属性可以省略(取默认值),但必须保留font-size和font-family属性,否则font属性将不起作用. */
    
    
    //2.CSS外观属性
    color:      用于定义文本的颜色.
    text-align: 用于设置文本内容的水平对齐方式,相当于html中的align对齐属性(left, right, center).
    line-height: 用于设置行间距,就是行与行之间的距离,即字符的垂直间距,一般称为行高(要设置在font属性下面,否则无效).
    text-indent: 用于设置首行文本的缩进.
    text-decoration: 用于给链接修改装饰效果(none, underline, overline, line-through).
    
    
    //3.CSS背景(background)
    background-color: 颜色值;  ->用于设置背景颜色.(默认的值是 transparent透明的).
    background-image: none | url (url);  ->用于设置背景图片.
    background-repeat : repeat | no-repeat | repeat-x | repeat-y;  ->用于设置背景平铺;
    background-position : position || position;  ->用于设置背景位置.
    background: 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置;
    /* 如果有背景图片则背景颜色可以不用写, 例如: 
    background: [transparent] url(image.jpg) repeat-y  scroll center top ;  */
    background: rgba(0, 0, 0, .3);  ->用于设置背景半透明.
    opacity: .2;  ->用于设置盒子半透明(设置opacity元素的所有后代元素会随着一起具有透明性,一般用于调整图片或者模块的整体不透明度).
    
    
    //4. 标签显示模式.(HTML标签一般分为块标签 和 行内标签两种类型,它们也称为块元素和行内元素。)
    display:inline;  块元素转为行内元素.
    display:block;   行内元素转为块元素.
    display: inline-block;  块、行内元素转换为行内块.
    /* 
    4.1 块级元素: 常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>标签是最典型的块元素。
    4.2 行内元素: 常见的行内元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>标签最典型的行内元素。
    4.3 行内块元素: 在行内元素中有几个特殊的标签比如<img>、<input >、<td>,可以对它们设置宽高和对齐属性,有些资料可能会称它们为行内块元素。
    */
    

3.5 CSS三大特性

  • CSS 层叠性

    1.所谓层叠性是指多种CSS样式的叠加.
    2.样式冲突,遵循的原则是就近原则。 哪个样式离着结构近,就执行哪个样式。样式不冲突,不会层叠。
    
  • CSS 继承性

    1.子标签会继承父标签的某些样式,如文本颜色和字号。
    2.子元素可以继承父元素的样式(text-,font-,line-这些元素开头的可以继承,以及color属性).
    
  • CSS 优先级

    1.选择器相同,则执行层叠性; 选择器不同,就会出现优先级的问题。
    2.CSS 权重计算问题:
    2.1 值从左到右,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越。
    2.2 关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity(特殊性)
    2.3 div { color: pink !important; }
    
    • 权重计算公式:

      标签选择器计算权重公式
      继承或者 *0,0,0,0
      每个元素(标签选择器)0,0,0,1
      每个类,伪类0,0,1,0
      每个ID0,1,0,0
      每个行内样式 style=""1,0,0,0
      每个!important 最重要的∞ 无穷大

3.6 盒子模型 ( css学习三大重点: CSS盒子模型, 浮动, 定位 )

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z1CnUvIV-1636971054509)(learnPic\CSS盒子模型.png)]

  • 标准 w3c 盒子模型的范围包括 margin、border、padding、content

3.6.1 盒子模型

//1.两种盒子模型
box-sizing: content-box;  //W3c标准盒子模型; 盒子的实际大小:内容的宽度和高度 + 内边距 + 边框.
box-sizing: border-box;   //IE盒子模型; 将采用怪异模式解析计算;


//2.盒子边框(border)
border-width  //定义边框粗细,单位是px.(还有border-top /bottom /left /right-style:样式;)
border-style  //边框的样式.
border-color  //边框颜色.
border : border-width || border-style || border-color;
border-top /bottom /left /right:宽度 样式 颜色;
border-collapse: collapse;  //表示相邻边框合并在一起。


//3.内边距(padding)
padding: 上内边距  右内边距 下内边距 左内边距 ;
padding: 上内边距  左右内边距  下内边距;
...
padding-left	左内边距
padding-right	右内边距
padding-top	    上内边距
padding-bottom	下内边距


//4.外边距(margin)
margin-left	   左外边距
margin-right   右外边距
margin-top	   上外边距
margin-bottom  下外边距


//5.外边距合并问题(略)


//6.CSS3新增
//6.1 圆角边框
border-radius: length;
border-radius: 左上角 右上角  右下角  左下角;
border-top-left-radius    定义了左上角的弧度
border-top-right-radius   定义了右上角的弧度
border-bottom-right-radius   定义了右下角的弧度
border-bottom-left-radius    定义了左下角的弧度

//6.2盒子阴影(box-shadow)
box-shadow: offset-x offset-y [blur [spread]] [color] [inset];

3.6.2 浮动

  • CSS 提供了3种机制来设置盒子的摆放位置,分别是普通流**(标准流)、浮动 和 定位**;

    //1. 什么是浮动?
    元素的浮动是指设置了浮动属性的元素会脱离标准普通流的控制(脱标),不占位置; 移动到指定位置。
    
    //2.作用
    * 让多个盒子(div)水平排列成一行,使得浮动称为布局的重要手段。
    * 可以实现盒子的左右对齐等等。
    * 浮动最早是用来控制图片,实现文字环绕图片效果。
    * float属性会改变元素的display属性,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。生成的块级框和我们前面的行内块极其相似。
    
    //3.浮动: 选择器 { float: 属性值; }
    float: none | left | right;
    
    
    //4.清除浮动???
    //4.1 额外标签法(隔墙法).
    W3C推荐的做法是通过在浮动元素末尾添加一个空的标签例如:
    <div style="clear:both"></div>,或则其他标签br等亦可。
    
    //4.2 父级添加overflow属性方法.
    可以给父级添加: overflow: hidden| auto| scroll 都可以实现。
    
    //4.3 使用after伪元素清除浮动:after 方式为空元素额外标签法的升级版,好处是不用单独再加标签.
        .clearfix:after {
            content: "";
            display: block;
            height: 0;
            clear: both;
            visibility: hidden;
        }
        /* IE6、7 专有 */
        .clearfix {
            *zoom: 1;
        }
    
    //4.4 使用双伪元素清除浮动
        .clearfix:before,
        .clearfix:after {
            content: "";
            display: table;
        }
    
        .clearfix:after {
            clear: both;
        }
    
        .clearfix {
           *zoom: 1;
        }
    

3.6.3 定位

  • 将盒子**「定」在某一个「位」**置 自由的漂浮在其他盒子(包括标准流和浮动)的上面。

  • 定位是用来布局的,它有两部分组成:定位 = 定位模式 + 边偏移. ( **「边偏移」: **topbottomleftright 属性定义元素的边偏移.)

    //1.定位模式:  
    选择器 { position: 属性值; }
    static	「静态」定位//静态定位按照标准流特性摆放位置。默认使用(即标准流).
    relative「相对」定位//注意: 1.相对定位是元素相对于它原来在标准流中的位置来移动的。 2.原来在标准流的区域继续占有(不脱标),后面的盒子仍然以标准流的方式对待它。
    absolute「绝对」定位//1.绝对定位是元素以带有定位的父级元素来移动位置; 2.完全脱离标准流(脱标)--完全不占位置;若父元素没有定位,则以浏览器为准定位(Document文档)。
    fixed	「固定」定位//1.固定定位是绝对定位的一种特殊形式; 2.只认"浏览器可视窗口+边偏移属性"来设置元素的位置; 3.跟父元素没有任何关系, 单独使用; 不随滚动条滚动.
    
    //2.边偏移
    top      上边偏移
    bottom   下边偏移
    left     左边偏移
    right    右边偏移
    
    //3.口诀: 子绝父相 ->相对定位经常用来作为绝对定位的父级.(总结: 1.因为父级需要占有位置, 因此是相对定位, 子盒子不需要占有位置则是绝对定位.  2.注意不要直接放图片, 最好给图片套一个div盒子. )
    
    
    //4.定位(position)的扩展
    //4.1 绝对定位的盒子居中
    绝对定位/固定定位的盒子不能通过设置margin: auto设置水平居中 在使用绝对定位时要向实现水平居中,可以按照下面的方法:
    一. left: 50%;  让盒子的左侧移动到父级元素的水平中心位置.. margin-left: -100px;  让盒子向左移动自身宽度的一半。
    三. 同理垂直居中。
    
    
    //4.2 堆叠顺序(z-index)
    1. 属性值:正整数、负整数或 0,默认值是 0,数值越大,盒子越靠上;(数字后面不能加单位)
    2. 如果属性值相同,则按照书写顺序,后来居上;
    3. z-index只能用于相对定位、绝对定位和固定定位的元素,其他标准流、浮动和静态定位无效。
    
    
    //4.3 定位改变display属性 (一个行内的盒子,如果加了「浮动」、「固定定位」和「绝对定位」,则不用转换就可以给这个盒子直接设置宽度和高度等。)
    前面提过, display 是显示模式,可以通过以下方式改变显示模式:
    ① 可以用inline-block  转换为行内块.
    ② 可以用浮动 float 默认转换为行内块(类似,并不完全一样,因为浮动是脱标的)
    ③ 绝对定位和固定定位也和浮动类似, 默认转换的特性转换为行内块。
    
  • 定位小结

    定位模式是否脱标占有位置移动位置基准模式转换(行内块)使用情况
    静态static不脱标,正常模式正常模式不能几乎不用
    相对定位relative不脱标,占有位置相对自身位置移动不能基本单独使用
    绝对定位absolute完全脱标,不占有位置相对于定位父级移动位置要和定位父级元素搭配使用
    固定定位fixed完全脱标,不占有位置相对于浏览器移动位置单独使用,不需要父级

3.6.4 CSS属性书写顺序:

建议遵循以下顺序?:

  1. 布局定位属性:display / position / float / clear / visibility / overflow(建议 display 第一个写,毕竟关系到模式)
  2. 自身属性:width / height / margin / padding / border / background
  3. 文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-word
  4. 其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …
/* 形如以下: */
.jdc {
    display: block;
    position: relative;
    float: left;
    width: 100px;
    height: 100px;
    margin: 0 10px;
    padding: 20px 0;
    font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
    color: #333;
    background: rgba(0,0,0,.5);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -o-border-radius: 10px;
    -ms-border-radius: 10px;
    border-radius: 10px;
}

3.7 CSS3的新特性

  • CSS3新增属性

    /* 0.过渡 transition:  谁做动画给谁加 */
    transition: all 0.3s;
    
    //1. 2D转换transform
    //1.1 移动: translate; (translate 对于行内元素是无效的)
    transform: translate(x, y);
    transform: translateX(x);
    transform: translateY(y);
    
    //1.2 旋转: rotate;
    transform: rotate(45deg);  //45deg度数
    transform-origin: 50px 50px;  //设置旋转中心点.
    
    //1.3 缩放: scale(x, y); (没有单位)
    transform: scale(2, 2);  =>  transform: scale(2)
    
    //1.4 综合写法(按顺序)
    transform: translate(150px, 50px) rotate(180deg) scale(1.2);
    
    
    //2. 2D动画
    /* 1. 定义动画 */
    @keyframes move {
        /* 开始状态 */
        0% {
            transform: translateX(0px);
        }
        /* 结束状态 */
        100% {
            transform: translateX(1000px);
        }
    }
    div {
        width: 200px;
        height: 200px;
        background-color: pink;
        /* 2. 调用动画 */
        /* 动画名称 */
        animation-name: move;
        /* 持续时间 */
        animation-duration: 2s;
    }
    div:hover {
        /* 鼠标放入section 停止动画 */
        animation-play-state: paused;
    }
    
    
    //3. 3D转换
    //3.1 移动
    transform: translateX(100px) translateY(100px) translateZ(100px);
    => ransform: translate3d(x,y,z);
    //3.2 透视   /* 透视写到被观察元素的 父盒子 上面 */
    perspective: 200px;
    //3.3 3D旋转
    transform: rotateX(45deg)  沿着x轴正方向旋转45deg.
    transform: rotateY(45deg);
    transform: rotateZ(45deg);
    transform: rotate3d(x,y,z,deg);   ->transform: rotate3d(1, 0, 0, 45deg);
    
    //3.4/* 让子元素保持3d立体空间环境 给父级添加的 */
    transform-style: preserve-3d;  //flat属性是不开启3d立体空间.
    
    
    //4.浏览器私有前缀
    浏览器私有前缀是为了兼容老版本的写法,比较新版本的浏览器无须添加。
    1.私有前缀
    -moz-: 代表firefox浏览器私有属性·
    -ms-∶ 代表ie浏览器私有属性.
    -webkit-: 代表safari、chrome私有属性·
    -O-: 代表Opera私有属性.
    //4.1 提倡的写法 
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    

3.8 CSS常见问题及解决方法 (CSS高级技巧)

//1.去除a标签的下划线
a {
   color: gray;
   text-decoration: none; /* 清除链接默认的下划线*/
}
a:hover {   /* :hover 是链接伪类选择器->鼠标经过事件 */
   color: red;
}


//2.1 清除li标签中样式 
li {
    list-style: none;
}

//2.2 清除内外边距
* {
   padding:0;         /* 清除内边距 */
   margin:0;          /* 清除外边距 */
}


//3. 给按钮添加图片背景
.search button {
    float: left;
    width: 50px;
    height: 42px;
    /* 按钮button 默认有个边框,需要我们手动去掉 */
    border: 0;
    /* 给按钮添加图片背景 */
    background: url(images/btn.png);
}


// 4. 文字在盒子中的位置
.text {
    height: 35px;
    line-height: 35px; /* 行高=盒子高度,使文字垂直居中 */
    text-align: center;  /* 使文字左右居中 */
}

// 5. 超出区域的文字用省略号表示
.news-bd ul li {
    height: 24px;
    line-height: 24px;
    white-space: nowrap; /* 强制文字一行显示 */
    overflow: hidden; /* 超出部分隐藏 */
    text-overflow: ellipsis; /* 超出文字用省略号显示 */
}


//6.文字居中和盒子居中区别👇👇
盒子内的文字水平居中是 text-align: center; 而且还可以让行内元素和行内块居中对齐.
块级盒子水平居中: 左右margin 改为 auto

//7. 用户界面样式-表单轮廓和防止拖拽文本域
<style>
    input,textarea {
        /* 取消表单轮廓 */
        outline: none;
    }
    textarea {
        /* 防止拖拽文本域 */
        resize: none;
    }
</style>


//8.元素的显示与隐藏 (特点:隐藏之后,不再保留位置。)
//8.1 display 显示(重点)
display: none;   隐藏对象.
display: block;  除了转换为块级元素之外,同时还有显示元素的意思。
//8.2 visibility 可见性 (特点:隐藏之后,继续保留原有位置。)
visibility: visible;  对象可视
visibility: hidden;   对象隐藏
//8.3 overflow 溢出
overflow: visible | hidden | scroll | auto;
visible	不剪切内容也不添加滚动条
hidden	不显示超过对象尺寸的内容,超出的部分隐藏掉(重要).
scroll	不管超出内容否,总是显示滚动条
auto	超出自动显示滚动条,不超出不显示滚动条


//9.CSS用户界面样式
//9.1 鼠标样式: 
style="cursor:default/pointer/move/text/not-allowed"
//9.2 轮廓线: outline   //
平时都是去掉的,最直接的写法: outline: 0;  或者 outline: none;
//9.3 防止拖拽文本域resize  //
<textarea  style="resize: none;"></textarea>


//10.vertical-align 垂直对齐, 它只针对于「行内元素」或者「行内块元素」, 通常用来控制图片/表单与文字的对齐。
/* 有宽度的块级元素居中对齐,是margin: 0 auto;
让文字居中对齐,是 text-align: center;*/
//10.1 图片、表单和文字对齐
vertical-align : baseline |top |middle |bottom;

//10.2 去除图片底侧空白缝隙 (原因:图片或者表单等行内块元素,他的底线会和父级盒子的基线对齐。就是图片底侧会有一个空白缝隙。)
解决方法:
①给img 添加 vertical-align:middle | top| bottom等等。让图片不要和基线对齐。
②给img 添加 display:block; 转换为块级元素就不会存在问题了。


//11.CSS精灵技术(sprite) ->为什么需要精灵技术:为了有效地减少服务器接受和发送请求的次数,提高页面的加载速度。
需要使用CSS:background-image、background-repeat、background-position属性进行背景定位,其中最关键的是使用background-position 属性精确地定位。


//12.滑动门
总结:
a 设置背景左侧,padding撑开合适宽度。
span 设置背景右侧, padding撑开合适宽度 剩下由文字继续撑开宽度。
之所以a包含span就是因为 整个导航都是可以点击的。

//13.CSS 三角形
div {
    width: 0; 
    height: 0;
    ...
    border-top: 10px solid red;
}

四.网站项目开发

4.1 网站TDK 三大标签SEO优化 ( 以后可能用于定飞优化 ):

1.SEO ( Search Engine Optimization)汉译为搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索引擎内自然排名的方式。
2.SEO的目的是对网站进行深度的优化,从而帮助网站获取免费的流量,进而在搜索引擎上提升网站的排名,提高网站的知名度。
3.页面必须有三个标签用来符合SEO优化: title, description, keyword.
  title: title具有不可替代性,是我们内页的第一个重要标签,是搜索引擎了解网页的入口和对网页主题归属的最佳判断点.
  description: 简要说明我们网站主要是做什么的.
  keword: keywords是页面关键词,是搜索引擎的关注点之一。keywords最好限制为6~8个关键词,关键词之间用英文逗号隔开,采用关键词1,关键词2的形式。
4.SEO人员提供以下三大标签:
 <title></title>
 <meta name="keywords" content="..." />
 <meta name="description" content="..." />
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 19:02:43  更:2021-11-16 19:05:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:56:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码