前端css笔记

1、页面开发工具

vscode的使用

1.双击打开软件

2.新建文件CTRL+N

3.ctrl+s 保存,要保存为.html文件

4.CTRL+ 、ctrl— 放大减小键

5.生成页面骨架结构

! 按下tab键

6.右键 openindefault browser

VSCode工具生成骨架标签新增代码

1.<!DOCTYPE>标签 :文档类型声明,作用就是告诉浏览器使用哪种HTML版本来显示页面

       <!DOCTYPE html>

2.lang语言:用来定义当前文件显示的语言

en:英文

zh-CN: 中文 *

<html lang ="zh-CN">

3.charset字符集:utf-8

<meta charset="UTF-8">

 

2、常用标签

2.1、标题标签

<h1>-<h6> *

2.2、换行标签、段落标签

段落:p

换行:

2.3、文本格式化标签

粗体:<strong></strong> *、<b></b>

斜体:<em></em> *、<i></i>

下划线:<ins></ins> * 、<u></u>

删除线:<del></del> * 、 <s></s>

2.4、div和span标签

​
和没有语义,他们就是个盒子,用来装内容
​

放图片或者文字。

<div>这是头部</div>
<span>今日价格</span>

div : 分割、分区。

span:跨度、跨距。

特点:

1.div 标签用来布局,一行只能放一个div 。大盒子。

2.spam 标签用来布局,一行可以放多个span , 小盒子。

2.5、图像标签和路径 ***

图像标签 (单标签)

<img src="图像url" alt=""/>

属性:

src是指图像文件的路径和文件名。

alt: 图片显示不出来,显示文字来说明。

title:鼠标放在图片上,显示的文字。

width:设置图片的宽度

height:设置图片的高度

border:设置图片的边框粗细

(属性之间没有先后顺序 空格分开)

 

文件-打开文件夹-选择文件

 

2.6、超链接标签

<a>

1.链接的语法格式

<a href="跳转目标" target="目标窗口的弹出方式">文本或者图像</a>

target: _self为默认值,__blank在新窗口中打开方式。

2.链接的分类

外部链接: 例如:

<a href="http://www.baidu.com" target="_blank">百度</a>

内部链接:网站内部页面之间的相互链接。例如:

<a href="index.html">首页</a>

空链接:

<a href="#"></a>

下载链接:如果href里面地址是一个文件或者压缩包,会下载这个文件。

<a href="img.zig">下载文件</a>

网页元素链接:在网页中各种网页元素,文本图像表格音频视频等都可以添加超链接。

<a href="http://www.baidu.com"><img src="img.jpg"/></a>

锚点链接:像是大纲,点进去跳转到页面相应内容的位置处

第一步:<a href="#two">第二集介绍</a>
第二步:<h3 id="two">第二集介绍</h3>
  • 在链接文本的href属性中,设置属性值为#名字的形式。

  • 找到目标位置标签,里面添加一个id属性=名字。

 

2.7、注释标签和特殊字符

注释标签:CTRL+/

特殊字符:&nbsp; 空格

&lt 小于号 &gt大于号

 

3.表格标签

1.1表格的基本语法

<table>
   <tr>
   <td>单元格内的文字</td>
      ...
   </tr>
  ...
</table>

table: 用来定义表格的标签

tr:定义表格中的行

td:定义表格中的列单元格

 

1.2.表头单元格标签

th:表示表格的表头部分,常用在第一行,突出重要性。会加粗居中显示。

<table>
   <tr>
       <th>姓名</th>
       <th>性别</th>
   </tr>
</table>

1.3、表格属性

align:表格周围对齐方式 例如:left right center

border: 表格是否拥有边框,默认”“,表示没有边框。 1或者”“。

cellpadding :像素值,单元边沿与其内容之间的空白,默认1像素。

cellspacing:单元格之间的空白,默认2像素。

width:像素值或百分比。 表格的宽度。

image-20230221234637455

 

1.4、表格结构标签

表格可分为 表格头部和表格主体

thead:表示表格头部的区域,tbody:表示表格主体的区域

image-20230223103222586

 

1.5、合并单元格

跨行合并:rowspan=”合并单元格的个数“ 最上册为目标单元格

跨列合并:colspan=”合并单元格的个数“ 最左侧为目标单元格

<td colspan="2"></td>

 

4、列表标签 ****

1.无序列表ul

<ul>
   <li>列表1</li>
   <li>列表2</li>
</ul>

2.有序列表 ol

<ol>
   <li></li>
   <li></li>
</ol>

3.自定义列表

<dl>
   <dt></dt>
   <dd></dd>
</dl>

 

5、表单标签

表单组成:表单域、表单控件、提示信息

1.表单域:包含表单元素的区域

form:实现用户信息的收集和传递

<form action="url地址" method="提交方式" name=”表单域名称">
                                              各种表单控件
                                              </form>

属性:

action:用于指定接收并处理表单数据的服务器程序的url地址。

method:get/post

name:指定表单的名称。

2.表单控件/元素

1.input输入表单元素:收集用户信息。

<input type="属性值"/>
type属性的属性值:

button 点击按钮

checkbox 复选框

file 上传文件

hidden 隐藏输入字段

image 定义图片形式的提交按键

password 密码字段

radio 单选按钮

reset 重置

submit 提交按钮

text 输入文本

type常用属性:

name:定义input元素的名称,单选按钮和复选框要有同样的name值。

value: 定义input元素的值,后台取值,给后台人员使用

checkbox:规定input首次加载时应被选中

maxlength: 输入字段字符的最大长度

placecholder:透明字

 

2.select下拉表表单元素

语法:

<select>
   <option>内容1</option>
   <option>内容2</option>
   <option>内容3</option>
  ....
</select>

selectde=”selected“:被选中状态

 

3.textarea文本域表单元素

语法:

<taxtarea rows="3" cols="2">
文本内容
</taxtarea>

 

4.label标签 ***

label 用于绑定一个表单元素,点击label标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,增加用户体验。

语法:

<label for="sex" >男</label>
<input type="radio" name="sex" id="sex"/>

核心:label标签的for属性应当与相关元素的id属性相同。

 

6.查阅文档

网站:

 

 

css层叠样式表

css规则:两部分构成。选择器以及一条或多条声明。

选择标签用的

 

1.选择器

1.1 标签选择器

作用:将某一类标签全部选择出来。

语法:标签{}

1.2 类选择器

.类名{
​
}
​
​
​
<div class="类名">
  内容
</div>

样式点定义,结构类(class)调用

 

多类名:给一个标签指定多个类名,从而达到更多的选择目的。

  • class=“类名1 类名2”

<div class="red font20">
  亚瑟
</div>

 

1.3 id选择器

语法:

#id名{
属性1:属性值;
}

口诀:样式#定义,结构id调用。 只能调用一次,别人切勿使用。

 

id和class区别:

  1. 类选择器好比人的名字,一个人可以有多个名字,一个名字可以被多个人使用。

  2. id选择器好比人的身份证号码,全国唯一,不能重复。

  3. 最大不同在使用次数上。

  4. 类选择器在修改样式中使用最多,id选择器一般用于页面唯一性的元素,经常个js一起使用。

 

1.4 通配符选择器

  • 使用*定义,选取页面中所有元素。

语法:

* {
属性1:属性值;
margin:0;
padding:0;
...
}
  • 不需要调用。

2.css字体属性

2.1字体

css使用font-family属性定义文本的字体系列

body {
font-family:"宋体";
}
​
div{
font-family:Arial,"Microsoft Yahei","微软雅黑";
}

设置多个字体的原因是:电脑如果有第一种就以第一种显示,否则就用后面的字体显示。

2.2字体大小

p{
font-size:20px;
}
  • 标题标签比较特殊,需要单独指定文字大小。

h1{
font-size:20px;
}

2.3字体粗细

font-weight

font-weight:bold;
font-weight:700;   加粗

image-20230222142534140

2.4字体倾斜

font-style:italic;

p{
font-style:italic;
}
​
将倾斜的字体正回来
em{
font-style:normal;   ***
}

 

2.5字体的符合属性

  • 将字体属性综合来写

  • 类型 粗细 大小 字体

    body{
    font:font-style font-weight font-size/line-height font-family;
    }
    类型 粗细 大小 字体
    例如:
    font:italic 700 16px "Microsoft yahei"
    • 不能随便更改顺序

    • 有些属性可以省略,但是font-size和font-family属性不能省略。

 

3.css文本属性

3.1文本颜色

color: rgb rgba

div{
color:red;
color:#ffffff;   ****
color:rgb(255,0,0);
}

 

3.2对齐文本

text-align属性用于设置元素内文本内容的水平对齐方式。

div{
text-align:center;
}

 

3.3装饰文本

text-decoration

div{
text-decoration:underline;
}

属性值:

  1. none:默认,没有装饰线。***

  2. underline:下划线,链接a自带下划线。**

  3. overline:上划线

  4. line-through:删除线

3.4文本缩进

  • text-indent 用来指定文本的第一行的缩进,通常是将段落的首行缩进。

div{
text-indent:20em;
}

em是一个相对单位,就是当前元素1个文字的大小。

3.5行间距

  • line-height用于设置行间的距离行高。

p{
line-height:26px;
}

行高构成:上间距,文字本身高度,下间距。

 

4.css引入方式

4.1css的三种样式表

  1. 行内样式表(行内式)

  2. 内部样式表(嵌入式)

  3. 外部样式表(链接式)

4.2内部样式表

  • 内部样式表是写到html页面的内部,是将所有的css代码抽出来,单独放到一个style标签中。

 

4.3行内样式表

<div style="color:red;font-size:12px;">
  文本内容
</div>
  • style就是标签的属性

  • 在双引号中间,写法要符合css规范

  • 可以控制当前的标签设置样式

 

4.4外部样式表(推荐)

引入外部样式表分为两步:

  1. 新建一个后缀名为.css的样式表,把所有css代码都放到此文件中

  2. 在HTML页面中,使用link标签引入这个文件

    <link rel="stylesheet" href="css文件路径"

     

5.chrome调试工具

1.打开调试工具

打开chrome浏览器,按F12或者右击→检查

2.使用调试工具

  • ctrl+滚轮 放大缩小

  • Ctrl+0 复原浏览器大小

  • 点击元素,右侧没有样式引入,极有可能是类名或者样式引入错误

  • 有样式,但样式前面有黄色叹号提示,则样式属性书写错误。

 

1.Emmet语法

1.1快速生成HTML结构语法

  • 想要生成多个相同标签,加上*就可以了,div×10可以生成10个div标签。

  • 有父子级关系的标签,可以用>,比如ul>li

  • 兄弟级关系标签,用+,div+p

  • 生成带有类名或者id名字的,直接写.demo或者#two tab键就可以了,默认是div。 p.one

  • 如果生成的div类名是有顺序的,可以用自增符号$

  • 我们想生成的标签里面默认显示几个文字, div{pink老师不是gay}

    例如:.demo$*5 ul>li.two

    div{我想要一路顺遂$}*4

1.2.快速生成css样式语法

  • w200 可以生成width:200;

  • ln26 可以生成line-height:26px;

 

1.3快速格式化代码

image-20230222205450001

代码没有对齐

快速格式化代码:右键→格式化文档(shift+alt+f)

也可以设置当我们保存页面的时候自动格式化代码:

  1. 文件------>首选项-------->设置;

  2. 搜索emmet.include;

  3. 在setting.json下的用户中添加以下语句:

    "editor.formatOnType":true,

    "editor.formatOnSave":true

新版本 在设置里面搜索 format 找到format on save 勾选。

 

6.css复合选择器

由基础选择器组合形成的

后代选择器,子选择器,并集选择器,伪类选择器。

6.1后代选择器(重点)

语法:

元素1 元素2 {样式声明}

image-20230222212439738

  • 元素2 一定是元素1 的后代

例如:

 ol li {
          color: pink;
      }
  • 元素1和元素2中间用空格隔开

  • 元素1是父级,元素2是子级,最终选择的是元素2

    <style>
       ol li {
           color: pink;
      }
   </style>
​
<ol>变态写法:
       <li>我是ol的孩子1</li>
       <li>我是ol的孩子2</li>
   </ol>
​
  • 元素2只要是元素1 的后代就行,儿子或者孙子

<style>
   ol li a {       或者ol a{}
       color:red;
  }
</style>
​
<ol>变态写法:
       <li>我是ol的孩子1</li>
       <li>我是ol的孩子2</li>
       <li><a href="#">我是孙子</a></li>
   </ol>
<style>
   .nav li a{
       color:red;
  }
</style>
​
<ul class="nav">
       <li>我是ul的孩子1</li>
       <li>我是ul的孩子2</li>
       <li>我是ul的孩子3</li>
       <li><a href="#">不会变化</a></li>
       <li><a href="#">不会变化</a></li>
       <li><a href="#">不会变化</a></li>
   </ul>

 

6.2 子选择器(重要)

只能选择作为某元素的最近一级子元素,简单理解就是选亲儿子元素。

语法: 选择元素1里面的所有直接后代(子元素)元素2

元素1>元素2{样式声明}

例如:

div>p{color:red;}
  • 元素2必须是亲儿子

6.3并集选择器(重要)

  • 可以选择多组标签,为他们定义相同的样式,用于集体声明。

  • 并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。

语法:

元素1,元素2 {样式声明}

image-20230222215927665

 

6.4伪类选择器

伪类选择器是用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第一个,第n个元素

最大特点是用:表示,比如 :hover、:first-child。

1.链接伪类选择器

  • a:link 选择所有未被访问的链接

  • a:visited 选择所有已被访问的链接

  • a:hover * 选择鼠标指针位于其上的链接

  • a:active 选择活动链接(鼠标按下未弹起的链接)

注意事项

  1. 为确保生效,按照LVHA的顺序声明:link- :visited- :hover- :active-

  2. 记忆法: lv包包hao

  3. a链接在浏览器中具有默认样式,所以我们实际工作中需要给链接单独制定样式

    a {color:red;}

链接伪类在实际开发中的写法

a{
color:red;
}
a:hover{
color:yellow;
text-decoration:underline;
}

2:focus伪类选择器

  • :focus伪类选择器用于选取获取焦点的表单元素

  • 焦点就是光标,一般情况<input>类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

    input:focus {

    }

    image-20230223104913179

 

复合选择器总结

复合选择器总结

 

7css的元素显示模式

1.1.什么是元素显示模式

  • 元素显示模式就是元素(标签)以什么方式进行显示,比如div自己占一行,比如一行可以放多个span。

  • HTML元素一般分为块元素和行内元素两种元素。

1.2.元素显示模式的分类

1.3.元素显示模式的转换

 

7.1 块元素

常见的块元素有<h1>~<h6>,<p>,<div>,<ul>,<ol>,<li>等,其中<div>标签就是最典型的块元素。

  • 块元素的特点:

    1. 比较霸道,自己独占一行。

    2. 高度,宽度,外边距以及内边距都可以控制

    3. 宽度默认就是容器(父级宽度)的100%。

    4. 是一个容器及盒子,里面可以放行内或者块级元素。

注意:

  • 文字类的元素不能使用块级元素

  • p标签主要用于存放文字,因此p里面不能放块级元素,特别是不能放div

  • 同理,h1~h6等都是文字类块级标签,不能放其他块级元素。

image-20230223115828403

7.2行内元素

常见的行内元素有a,strong,b,em,i,del,s,ins,u,span,,,,其中span标签是典型的行内元素,有的地方也将行内元素成为内联元素。

  • 行内元素的特点:

  1. 相邻行内元素在一行上,一行业以显示多个元素。

  2. 高,宽直接设置是无效的。

  3. 默认宽度就是它本身内容的宽度

  4. 行内元素只能容纳文本或其他行内元素。

注意:

  • 链接里面不能再放链接

  • 特殊情况链接a里面可以放块级元素,但是给a转换一下块级模式最安全

 

7.3行内块元素

  • 在行内元素中有几个特殊的标签—《img/》图像、《input/》表单、《td》,他们同时具有块元素和行内元素的特点。

行内块元素的特点:

  1. 和相邻行内元素在一行上,但是他们之间有空白缝隙,一行可以显示多个。

  2. 默认宽度就是它本身内容的宽度

  3. 高度、行高、外边距、内边距都可以控制。

 

7.4.元素显示模式的转换

特殊情况下,我们需要元素模式的转换,简单理解:一个模式的元素余姚另外一种模式的特性。

比如想要增加链接a的触发范围。

  • 转换为块级元素: display:block;

    image-20230223122123249

    链接不能设置宽度和高度,转换为块级元素就可以设置宽度和高度。

  • 转换为行内元素:display:inline;

  • 转换为行内块:display:inline-block;

<style>
       a {
           /* 不起效果 */
           width: 150px;
           height: 50px;
           background-color: pink;
           /* 把行内元素a转换为块级元素 */
           display: block;
​
      }
​
       div {
           width: 150px;
           height: 50px;
           background-color: rgb(173, 36, 59);
           display: inline;
      }
​
       span {
           width: 150px;
           height: 50px;
           background-color: rgb(36, 75, 173);
           display: inline-block;
      }
   </style>
​
​
   <a href="#">金星阿姨</a>
   <div>我是块级元素</div>
   <div>我是块级元素</div>
   <span>行内元素转换为行内块元素</span>
   <span>行内元素转换为行内块元素</span>

image-20230223122934349

 

7.5 一个小工具的使用snipaste

snipaste是一个简单但强大的截图工具,也可以让你将截图贴回到屏幕上。

常用快捷方式:

  1. F1可以截图。同时测量大小,设置箭头,书写文字等。

  2. F3在桌面置顶显示

  3. 点击图片,alt可以取色(按下shift可以切换取色模式)

  4. 按下esc取消图片显示1

7.6侧边栏案例

<!DOCTYPE html>
<html lang="en">
​
<head>
   <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>Document</title>
   <style>
       a {
           width: 230px;
           height: 40px;
           background-color: #454242;
           display: block;
           text-decoration: none;
           color: white;
           font-size: 14px;
           text-indent: 2em;
           
      }
​
       a:hover {
           background-color: orange;
      }
   </style>
</head>
​
<body>
   <a href="#">手机 电话卡</a>
   <a href="#">电视 盒子</a>
   <a href="#">笔记本 平板</a>
   <a href="#">出行 穿戴</a>
   <a href="#">智能 路由器</a>
   <a href="#">健康 儿童</a>
   <a href="#">耳机 音响</a>
</body>
​
</html>

 

7.7 一个小技巧 单行文字垂直居中的代码

解决方案:让文字的行高等于盒子的高度,就可以让蚊子在当前盒子内垂直居中。

line-height: 40px;

行高小于盒子高度,文字会偏上;行高大于盒子高度,文字会偏下

8css的背景

背景颜色、背景图片、背景平铺、背景图片的位置、背景图像固定等。

8.1 背景颜色

margin-top: 0.8em; margin-right: 0px; margin-bottom: 0.8em; padding-left: 30px; position: relative; color: rgb(51, 51, 51); font-family: "Open Sans", "Clear Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;">

  • transparent 透明 默认

8.2 背景图片

background-image

优点:非常便于控制位置

background-image:none/url

 

8.3背景平铺

background-repeat:repeat|no-repeat|repeat-x|repeat-y
  • repeat:背景图片在纵向和横向上平铺

  • no-repeat:背景图片不平铺

  • repeat-x:背景图片在横向上平铺

  • repeat-y:背景图片在纵向上平铺

默认情况下背景是平铺的。 平铺是在页面上多余的空间再填上图片。

页面元素既可以添加背景颜色,又可以添加背景图片,背景图片会压住背景颜色。

8.4背景图片位置

background-position:x y;

x坐标和y坐标,可以使用方位名词或者精确单位

  • length 百分数|由浮点数字和单位标识符组成的长度值

  • position y轴: top |center|botton

    x轴: left|center|right 方位名词

 

1 参数是方位名词

  • 如果指定的两个值都是方位名词,则两个值前后顺序无关,比如left top 和 top left 效果一致

    background-position: center right;
    ​
  • 只指定一个方位名词,另一个值省略,则第二个值默认居中对齐

    background-position:right

    效果:水平靠右对齐,y轴是垂直居中显示的

  • 图片不要插入图片,在style里面加入背景图片

background-image: url();
background-repeat: no-repeat;
background-position: left center;
text-indent: 2em;
  • 超大背景图,居中图片

    background-position:center top;

     

2.参数是精确单位

  • 如果参数值是精确单位,那么第一个肯定是x坐标,第二个一定是y坐标。

    baackground-position:20px 50px;
    x轴是20px,y轴是50px
  • 如果至指定一个数值,该数值一定是s坐标,另一个默认垂直居中。

3参数是混合单位

  • 第一个值一定是x坐标,第二个值一定是y坐标

 

8.5背景图像固定(背景附着)

background-attachment属性设置背景图像是否固定或者随着页面的区域部分滚动

后期可以制作视差滚动的效果。

background-attachment:scroll|fixed

scroll 背景图像随对象内容滚动

fixed 背景图像固定

 

image-20230223211039971

 

8.6背景复合写法***

为了简化背景属性的代码,这些属性可以合并简写在同一个属性background中,没有特定的书写顺序,一般习惯约定顺序为:

background:背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置;
​
background:transparent url(images/5.jpg) no-repeat fixed center top;

 

 

 

 

 

posted @ 2023-02-23 21:19  S瘦瘦  阅读(175)  评论(0)    收藏  举报