前端学习笔记

head基础

注释:便于开发人员对开发项目解释和说明性的文字
快捷键是 ctrl+/
注释不会被应用程序解析
html 超文本标记语言,严格意义上来讲,不是一个开发语言
html5 html的第五个版本,添加了一些新标签和api,使用h5必须在页面的开头添加以下代码

    ```<!DOCTYPE html>```
    它的含义是 声明当前文档类型是 html5 标准的文档,这样浏览器在解释渲染的时候会按照h5的标准解析

html文档是由标签组成
标签分为单标签和双标签,他们的闭合方式不同
单标签:··<img />
双标签:<div> 内容 </div>

head标签

head标签中的内容不会渲染在页面中
主要是源信息标签
<meta /> 作用是:设置网站的源信息
charset 属性,用来定义文本的编码格式
UTF-8 万国码,目前开发中的最常用
gb2312:中文码
通常都把 charset 的值设置成 UTF-8 ,如果不设置charset属性,可能会导致页面乱码,解决方案是设置成UTF-8即可
author 属性:用来定义网站的作者,一般是公司的名字
keywords 属性:用来定义网站的关键字,如果有多个关键字,用英文逗号隔开,关键字最好不要超过10个
精准的keywords值,更加有利于SEO(搜索引擎优化)
description 这个属性:用来简单的描述网站的内容,不要超过100字,有利于SEO
meta的另一种写法

    ```<meta name="属性名" content="属性值"/>```

title 标签,他是一个双标签,他的SEO权重很大,因此需要谨慎书写里面的内容
body 标签里面的内容会渲染在页面的可视区域

块标签

标签分为行属性标签和块属性标签
块属性标签
1. div 标签
没有任何意义的标签,通常用来进行页面的布局
<div style="border:1px #f00 solid;">千里冰封</div>
<div style="border:1px #f00 solid;">千里冰封</div>
2.h系列标签
h1-h6 标题
在一个页面当中, h1 最多只能出现1次, h2 最多出席那20次, h3-h6 次数不限
h1的用法:
1.logo处
2.资讯详情页的大标题
由于h1的权限较大,只能出现在以上两个地方
<h1>万一长城永不倒</h1>
<h2>万一长城永不倒</h2>
<h3>万一长城永不倒</h3>
<h4>万一长城永不倒</h4>
<h5>万一长城永不倒</h5>
<h6>万一长城永不倒</h6>
3. p 标签,段落标签,它里面一般包含一段文字
<p >青春要是过去何处找少年</p>
4.分割线 <hr />
换行符<br />
5.无序列表
ul > li
可以设置他的 list-style-type 属性
square :实心方块
circle :空心圆
dotted :实心圆
none : 取消列表样式
disc : 高版本系统下的默认样式
6.有序列表
ol>li
可以设置他的 list-style-type 属性
lower-aplpha : 小写字母
upper-aplpha : 大写字母
lower-roman :小写罗马文
upper-roman :大写罗马文
ol,ul,li 都是块属性标签
li 是列表项
并且ol,ul的子元素,必须是 li 标签
7.定义列表
dl>dt
dl>dd
dl :快标签,定义列表的父元素
dt : 快标签,定义列表的标题项
dd :快标签,定义里列表的列表项
8.address 地址标签,一般的,它的内容是一个地址
9.blockquote :引用标签,一般引用的是一段文字,他的 cite 属性表示该文字引用的文献名目
不要使用 html 官方没有的标签,虽然也会被浏览器渲染,但是不符合w3c 规范

行标签

span 标记标签,没有实际意义,通常用来渲染文字
<span style="border:1px #f00 solid">孙悟空</span>
iframe 框架
src=“需要显示的网页地址”
height=“设置高度”
<iframe src=".//case.html" height="200" width="600"></iframe>
a 标签 href 属性:用来设置超链接的地址
traget 属性:设置标签页的打开方式
_blank 在新标签页打开
_self 默认值,在当前页打开
作用:
1.设置一个超链接
2.设置锚点
最常用的效果是回到顶部
如果在开发中需要设置a标签点击没有效果,则可以设置href属性为 ## 既是 href=“##”
如果需要设置回到顶部则 href=“#”
不要设置 herf 为空,这样会导致页面刷新
3.下载文件
a. 如果设置的下载文件是音频、视频、图片、文档等,都需要经过压缩之后,再在href上设置
文件的路径
b. 如果是文本类型的文件,可以直接把文件路径设置在href属性上,直接由浏览器打开

       ```<a href="./case.html" target="_blank">案例</a>```
       ```<a href="#re">红色块</a>```
 ```<a href="#gr">绿色块</a>```
```<a href="#">回到顶部</a>```

strong 强调标签
em 强调并斜体
b 文本加粗(不常用,h5中即将废弃)
i 文本斜体
var 文本斜体(不常用,h5中即将废弃)

     ```<strong>林深听鹿鸣 strong</strong>```
  ```<em>林深听鹿鸣 em</em>```
 ```<b>林深听鹿鸣 b</b>```
  ```<i>林深听鹿鸣 i</i>```
  ```<var>林深听鹿鸣 var</var>```

q 标签,引用标签,他引用的内容都比较简短
pre 标签,格式化输出
code 标签,一般是嵌套代码使用
<在html中渲染为<
&gt 在html中渲染为>
 在html中渲染为空格

    ```<q>拒收并蓄</q>```
            ```<pre>
    及你太美
 及你实在太
 及你太美万人迷
    </pre>```
   ```<code>
        &lt;p&gt; 哈哈 &lt;/p&gt;
    </code>```

图片标签

img 标签,是一个单标签
src属性:用来设置图片资源路径
文件资源路径分为三种
a.网络路径
//图片的网络地址
b.绝对路径
//从服务器的根目录开始直到找到需要的文件整个路径,通常不使用
c.相对路径
//相对于当前文件的所在的资源路径
./ 代表的是当前目录
…/ 代表的是上一级的目录
相对路径在开发中最常用
alt 属性,用来解释图片的内容
作用:
1.当图片没有被加载出来的时候,会显示alt的内容
2.通过alt属性,告诉浏览器当前图片的内容
width/height 设置图片的宽和高,在实际的开发当中,一般指设置单个的宽或高,
另一侧会根据比例显示大小

    ```<!-- 绝对路径 -->
 <img src="D:/上课代码/01HTML/day02/image/2.jpg" width="400" height="600" alt="网络未连接" />
 <!-- 相对路径 -->
 <img src="./image/2.jpg" width="400" height="600" alt="网络未连接" />
 <img src="./image/3.jpg" width="400"  alt="网络未连接" />```

总结

1.块属性标签
a.独自占据一行空间,支持宽和高的设置,设置完宽和高以后,仍然独占一行
b.支持上下 padding 和 上下 margin
2.行属性标签
a.不会独自占据一行空间,从左至右横向排列
b.无法设置宽高,他的宽高由内容撑开
c.不支持上下 padding和上下 margin

        ```<div style="background:#f00;height:200px;width:200px"></div>
 <div style="background:#f0f;height:200px;width:200px"></div>
 <span style="border:1px #f00 solid;height:200px;width:200px">白了少年头</span>
 <span style="border:1px#f00 solid;height:200px;width:200px">空悲切</span>```

emmet语法

E 代表标签名
E*n 创建n个E标签
E{大河之剑天上来}*n 创建n个内容为‘大河之剑天上来’的 E标签
E{大河之剑天上来$}*n 创建n个内容为‘大河之剑天上来’+序号的 E标签,
$表示序号,从1开始
> 表示的是下一个层级元素(子元素)
E>a 在E标签中添加子元素 a 标签
+ 表示同级
E+p 同时创建兄弟元素E和p
^ 表示上一级
E>p^div 创建 div标签和 E 标签同级,也就是创建 p 标签的上一级
使用[]设置属性

     ```<ul>
    <li><a href="">搜狗1</a></li>
    <li><a href="">搜狗2</a></li>
    <li><a href="">搜狗3</a></li>
    <li><a href="">搜狗4</a></li>
    <li><a href="">搜狗5</a></li>
 </ul>```
 <!-- ul>li{桀桀桀}*5 -->
 <ul>
    <li>桀桀桀</li>
    <li>桀桀桀</li>
    <li>桀桀桀</li>
    <li>桀桀桀</li>
    <li>桀桀桀</li>
 </ul>
 <!-- p*10{大河之剑天上来} -->
 <p>大河之剑天上来</p>
 <p>大河之剑天上来</p>
 <p>大河之剑天上来</p>
 <p>大河之剑天上来</p>
 <p>大河之剑天上来</p>
 <p>大河之剑天上来</p>
 <p>大河之剑天上来</p>
 <p>大河之剑天上来</p>
 <p>大河之剑天上来</p>
 <p>大河之剑天上来</p>
 <!-- p^div -->
 <p></p>
 <div></div>
 <!-- a[href="#"]*5 -->
 <a href="#"></a><a href="#"></a><a href="#"></a><a href="#"></a><a href="#"></a>
 <!-- ul>li*3^div -->
 <ul>
    <li></li>
    <li></li>
    <li></li>
 </ul>

标签嵌套

标签嵌套规则
1.块标签可以作为一个布局标签,嵌套所有的标签
2.行标签不能嵌套块标签
以下标签不能相互嵌套
1. p 标签,h1-h6都不能相互嵌套,并且他们也不能嵌套块标签
2. a 标签不能相互嵌套

    ```<div style="border:1px #f00 solid;">
    <div>漂亮</div>
    <span>你好漂漂啊</span>
    <ul style="list-style-type: none;">
        <li>
            <img src="./image/4.jpg" width="200" alt="">
        </li>```
       <li>
            <!--  p 不能嵌套 p 标签 -->
            <p>千山鸟<p>飞绝,万</p>径人踪灭</p>
        </li>
        <li>
            <!-- a不能嵌套 a 标签 -->
            <a href="http://sina.com">
            新<a href="http://jd.com">京东</a>浪
            </a>
        </li>
        <li>
            <div>
                <h2>日月之行</h2>
                <span>若<span style="color: #f00;">出</span>其中
            </div>
        </li>
    </ul>
 </div> 

css样式表

设置类名
.类名{
样式内容
}
text-align:文本排布,一般放在块标签上,用来控制块标签中 行标签 和文本的对其位置
值:
left:左对齐(默认)
center:居中对齐
right:右对齐

    .wp {
        width: 200px;
        height: 200px;
        background: #f00;
        color: #ff0;
        text-align: center;
    }

css 层叠式样式表,它是用来给HTML结构添加样式的
引入方式:
1.行间样式
在标签上,设置style属性,在style中设置样式
2.内部样式表
在head中设置style 标签,在标签中设置样式

            ```<div class="wp">
    <img src="./image/4.jpg"width="100" alt="">
 </div>
 <p class="wp">这也太厉害<span>了吧</span></p>```

css的引入方式

层叠式样式表
css 引入方式
1、行间引入
2、内部样式表
3、外部样式表
开发的时候常用
link 和 @import 引入 css 的区别
1.@import 是css2.1之后才推出的,因此可能存在兼容问题,link 不存在兼容问题
2.link 不仅可以引入css,也可以引入其它类型的文件,功能更加强大。
推荐使用 link

    ```<div class="wp">岑参</div>
 <div class="show">白居易</div>
 <ul class="link">
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
 </ul>```

css文本操作

border 属性
border-width 是指border的宽度
border-color 设置border的颜色
border-style 设置border的样式
他们三个也可以合写:
border:width style color;
可以单独给某一个边设置border
border-top 设置 上边
border-left 设置 左边
border-bottom 设置 下边
border-right 设置 右边
常用的 border-style 值
1.solid 实线
2.dotted 圆点虚线
3.dashed 短线虚线
4.none 隐藏border
//以下不常用//
5.double 双实线
6.3D边框
groove 3D凹槽
ridge 3D凸槽
inset 内嵌
outset 外嵌
color属性,设置文本颜色
值:
1.英文单词
2.16进制颜色 0-f ,# 后面跟六位表示颜色的数字,前两位表示红色,中间两位表示绿色,后面两位表示蓝色 #aabbcc 如果两两相等,则可以简写为 #abc
3.rgb(),rgba() 设置颜色
括号当中设置对应位置的数字是0-255,0表示黑色,255表示白色
rgb(255,0,0) 红色
rgba中的a 表示透明度,取值范围是0-1,0表示完全透明,1表示完全不透明
文本修饰 text-decoration
值:
1.underline 下划线
2.overline 上划线
3.line-through 中划线(删除线)
4.none 去掉线(没有文本修饰线)
文本转化 text-transform
值:
1.lowercase 全部小写
2.uppercase 全部大写
3.capitalize 单词的首字母大写
行高 line-height
对于单行文本,line-height 设置的高度如果和标签的高度相同,则可以做垂直居中效果
如果是多行文本,可以理解为行间距

    .wp{
        width: 100px;
        height: 200px;
        /* 设置border的宽度 */
        border-width: 5px;
        /* 设置border的颜色 */
        border-color: #f00;
        /* 设置border的样式 */
        border-style: dashed;
        border: 10px #04be01 outset;
        /* 单独设置一个边 */
        border-bottom: 10px #f00 solid;
        border-left: 8px #06c solid;
    }
    .show{
        width: 200px;
        height: 200px;
        color: #ff0;
        background: rgba(255,0,0,0.7);
        /* 给文本设置下划线 */
        text-decoration:underline;
        /* 给文本设置中划线 */
        text-decoration: line-through;
    }
    a{
        text-decoration: none;
    }
    .txt{
        border: 1px #f00 solid;
        /* 全部大写 */
        text-transform: uppercase;
        /* 全部小写 */
        text-transform: lowercase;
        /* 单词首字母大写 */
        text-transform: capitalize;
    }
    .hit{
        border: 2px #f00 solid;
        line-height: 30px;
    }
    .layout{
        height: 400px;
        border: 1px #f00 solid;
        text-align: center;
        line-height: 400px;
    }
    <div class="wp"></div>
 <div class="show">人生得意须尽欢</div>
 <a href="##">奥运运动</a>
 <p class="txt">fgs;gds;fgd;sg;sfs</p>
 <p class="hit">月有阴晴圆缺,花有重开日</p>
 <div class="layout">
    <!-- <span>
        面条怎么样
    </span>  -->
    <img style="border:1px #f00 solid;"src="./favicon.ico" width="60" alt="">
 </div>

direction 设置文字方向
lrt 默认,从左向右
rtl 从右向左
text-indent 首行缩进,他的值是具体的数值
word-spacing: 设置两个单词之间的距离
letter-spacing:设置两个字符之间的距离

    .txt{
        border: 1px #f00 solid;
        direction: ltr;
        text-indent: 40px;
        word-spacing: 30px;
        letter-spacing: 15px;
    }
    .txt1{
        border:  #fff solid;
        border-bottom:  #f00 solid;
        width: 0;
    }
         <p class="txt">随风奔跑自由是方向,敢爱敢恨勇敢闯一闯,abcf</p>
 <div class="txt1"></div>

overflow属性

overflow 属性
处理子级内容超出当前容器的部分,只要是对父级元素添加该属性
值:
hidden 超出部分隐藏
scroll 滚动查看超出的部分
auto 自动渲染超出的部分
overflow-x 控制x轴方向那个超出的部分
overflow-y 控制y周方向那个超出的部分
white-space:设置文本的格式
nowrap 强制不换行
normal 强制换行
text-overflow:对超出的文本的内容进行剪裁
ellipsis 超出的内容变为省略号
clip 直接裁掉超出的文本内容
单行文本超出添加省略号
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-style 设置字体的样式
值:
italic 设置字体斜体
normal 设置字体正常
font-weight 设置字体是否加粗
值:
normal 默认
bold 加粗
bolder 相对bold加粗
他的值也可以是具体的整百数字,范围是 100-900
400 -> normal
700 -> bold
900 -> bolder
font-size 是设置所修饰的字体的大小
1.目前浏览器默认字体大小是 16px
2.pc端六零年起的最小字体大小可以设置为12px
font-family 设置文字字体
可以同时设置多个字体,形如:
font-family:‘A’,‘B’,‘C’…;
含义是在客户端的设备上匹配A字体,如果没有A字体,则继续匹配B字体,依次进行匹配,直到匹配成功即可显示匹配到的字体
通用字体
1.serif 有衬线(类似锐化)
2.sans-serif 无衬线
font 也是一个复合型 css 属性
可以直接按照下面的顺序书写
font:style weight size family;
注意:style 和 weight 不是必须写入的内容,如果简写必须要有 font-size和
font-family
font:size family;
background 设置标签元素的背景
background-color 设置背景色
它的值是:
1.英文单词
2.16进制表示颜色
3.rgb()表示颜色
background-image 设置背景图
background-image:url(背景图地址)
background-repeat 背景图的平铺方式
值:
repeat 默认,x轴y轴都平铺
repeat-x 沿x轴平铺
repeat-y 沿y轴平铺
no-repeat 不平铺
background-position 设置背景图定位
background-position:x轴方向的值,y轴方向的值;
值可以是:
1.具体的数值
2.方位名词组合
left top right bottom center
background-attachment 设置背景图固定定位
值:
scroll 默认值,背景图片跟着页面滚动
fixed 根据浏览器可视区域,固定在具体位置,它的定位参考点是浏览器可视区域
background 是一个复合型属性,可以写在一起,他的顺序是
background:color image repeat position attachment
可以单独写
background:color;
background:image;

                    .wp{
        width: 400px;
        height: 400px;
        border: 1px #f00 solid ;
        /* background: #ccc; */
        /* 设置背景色 */
        background-color: #04be02;
        /* 设置背景图 */
        background-image: url('./images/微信图片_20230707142409.png');
        /* 设置背景图的平铺方式 */
        background-repeat: no-repeat;
        /* 设置背景图定位 */
        background-position: -160px center ;
        /* 背景图的固定定位 */
        /* background-attachment: fixed; */
    }

display属性

隐藏一个标签元素
display:none;
display 属性可以用来控制标签元素的显示属性
值:
block 把元素转化为块标签属性
inline 把元素转化为行属性标签
none 隐藏标签元素
设置内联块元素(行内块元素)
display:inline-block;
它的本质是对内显示块标签属性,对外显示行标签属性
两个内联块元素之间的缝隙的处理方法
原因:两个内联块元素之间键入了回车,回车也是一个字符,他的大小跟父标签的font-size有关
解决办法:
1.去掉回车键
2.设置他们的父元素的大小为0
注意:字体大小可以被传递到子元素上的

css选择器

基础选择器

1.通配选择器
        *表示通配符,可以匹配任何标签
        *{
            css内容
        }
    2.标签名选择器
        E{css内容}给所有标签名为E的元素设置css样式
    3.类名选择器
        .类名{css内容}
        使用的时候需要在标签上绑定css="类名"如果有多个类名,使用空格隔开,类名最好不要超过五个
    4.id选择器
        #id名{css内容}
        在一个页面上,id是唯一的,只能绑定在一个标签上,也就是一个页面中没有同名的id
    5.群组选择器
        如果多种选择器所表达的css内容是相同的则可以把他们写成群组选择器
        .wp,#abc,div {css内容}

层次选择器

1.后代选择器
        E M { css 内容 } 通过E选择器设置E中的M选择器的css内容,M可以是E的子级,也可以是E的后代中的某一个选择器
    2.父子选择器
        E>M { css内容 }通过E选择器找到E选择器的子级M选择器,设置css内容
    3.兄弟选择器
        E~M {css内容}通过E选择器找到该元素之后的所有选择器名为M的兄弟元素,并设置css样式
    4.相邻兄弟选择器
        E+M {CSS内容}通过选择器E找到该元素之后第一个兄弟元素M,并且对M设置css样式

伪类选择器

a的伪类
    伪类,是css系统创建好的内部的类,用来对标签的某一个时机设置的样式
    link:初始时候的状态
    visited:点击之后的状态
    hover:鼠标悬浮时候的状态
    active:鼠标按下不松手时候的状态
    顺序是 l -> v -> h -> a(先爱后恨)
    ie8以后,任何标签都可以添加:hover 伪类
    可以根据hover触发元素本身,以及通过元素能找到的元素的变化

选择器优先级

什么时候要考虑选择器的优先级?
    不同的选择器,同时作用于同一个标签元素,并且他们具有相同的css属性设置,对该css属性设置了不同的值
    选择器优先级的强弱顺序:
        1.!important                       100000
        2.行间样式在标签上添加style属性      10000
        3.id选择器                          1000
        4.类名选择器,伪类选择器,属性选择器   100
        5.元素(标签名)选择器,伪元素选择器    10
        6.通配符选择器                        1
        7.系统默认提供的css属性                0
        假设后面的数字是权重的值,那么在比较的时候,只需要把选择器的值相加,然后比较大小既是权重的大小
        如果他们的值相同,后来者居上

盒模型

盒模型:在HTML中每一个标签都具有一个盒模型
    盒模型的组成部分:Content(内容),padding(内边距),
    border(边框),margin(外边距)
    Cotent:标签元素内容,一般自己定义宽和高,或者由子元素的内容撑开
    padding:设置元素内容到元素边框之间的距离
    border:指的是元素的边框
    margin:设置当前元素到相邻元素之间的距离

padding用法

    设置内边距
        padding-top:num;设置上边距
        padding-right:num;设置右边距
        padding-bottom:num;设置下边距
        padding-left:num;设置左边距
    合写:
        padding:上 右 下 左;
        左=右  上!=下
        padding:上 右 下;
        左=右 上=下
        padding:上 右;
        左=右=上=下
        padding:上;

margin用法

    margin 设置外边距
        margin-top 设置元素上边的外边距
        margin-right 设置元素右边距
        margin-bottom 设置元素下边距
        margin-left 设置元素左边距
    合写
        margin:上 右 下 左;
        上=下 右!=左
        margin: 上 右 下 左;
        上!=下  右=左
        margin:上 右 下;
        上=下 右=左
        margin: 上 右;
        上=下=左=右
        margin:上;
    margin的经典bug
        1.上下两个兄第元素的margin重叠问题
        上下两个兄弟标签,设置margin的时候,他们之间的距离不是相加,而是谁设置的margin值大,就显示谁的距离,即为值大的覆盖小的
        可以理解为,上面元素的 margin-bottom和下面元素的margin-top
        他们的值谁大取谁
        解决办法:给下面的元素添加dispaly:inline-block;
        2.父子级子元素的margin-top传递问题
        在子元素中设置margin-top表现的结果是该margin-top传递到父级元素上,使得父元素距离它上面的元素为该margin-top值
        解决方案:
            a.给父元素添加 overflow:hidden;
            b.给父元素添加 border
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值