预习HTML与CSS

HTML

HTML基本骨架
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
    
标签的关系

父子关系(嵌套)

兄弟关系(并列)

注释
<!--注释内容,不会在浏览器显示-->

VS Code中,添加/删除注释的快捷键:Ctrl +/

*标题标签*

这是一级标题

这是二级标题

这是三级标题

这是四级标题
这是五级标题
这是六级标题

(标题特点):1.文字加粗 2.字号逐渐减小 3.独占一行 4. <h1>一般一个网页只用一次

段落标签
<p>这是一段文字</p>

(特点):独占一行;段落之间有间隙

换行与水平线标签
<br>
<!--强制换行标签-->
<hr>
<!--画一条水平线-->
文本格式化标签
<strong>(强调)粗体</strong> <b>粗体</b>
<em>(强调)倾斜</em>         <i>倾斜</i>
<ins>(强调)下划线</ins>     <u>下划线</u>
<del>(强调)删除线</del>     <s>删除线</s>

优先选择左边标签

图像标签
<img src="./cat.jpg" alt="一只猫" title="这是一只猫" width="100" height="120">
<!--src用来指定图像的位置和名称,是<img>的必须属性-->
<!--alt是图片无法显示的时候显示的文字-->
<!--title是鼠标悬停在图片上时显示的文字-->
路径

查找文件时从起点到终点经历的路线。

1.相对路径:从当前文件位置出发查找目标文件

/ 表示进入某个文件夹里——文件夹名字/)

. 表示当前文件所在文件夹——./)

../表示进入上一级文件夹)

<img src="../image/微信图片_20240323101825.jpg" alt="微信" title="LENOVO">

2.绝对路径:从盘符出发查找目标文件

<img src="D:/mysite/image/微信图片_20240323101825.jpg">
​
超链接

点击跳转到其他页面

<a href="http://www.baidu.com/">跳转到百度</a>
    <!--覆盖原网页-->
<a href="./第一次培训.html" target="_blank">跳转到本地</a>
    <!--target="_blank",跳转到新窗口-->
<a href="#">空链接</a>
音频标签
<audio src="../music/伯虎说.mp3" controls loop></audio>
    <!--comtrols显示音频;loop循环播放-->
视频标签
<video src="../music/伯虎说.mp4" controls loop></video>
列表

作用:布局内容排列整齐的区域

分类:无序列表、有序列表、定义列表

无序列表
  • 第一项

  • 第二项

<ul>
    <li>第一项</li>
    <li>第二项</li>
</ul>
    <!--ul里只能包裹li标签-->
有序列表
  1. 第一个

  2. 第二个

<ol>
    <li>第一个</li>
    <li>第二个</li>
</ol>
    <!--ol里只能包裹li标签-->
定义列表
<dl>
    <dt>列表标题</dt>
    <dd>描述内容</dd>
    <dd>一律缩进</dd>
</dl>
    <!--dl里只能包裹dt和dd-->
表格
姓名语文数学
张三98100
<table border="1"> <!--table表格,border为表格添加边框-->
    <tr>    <!--行-->
        <th>    <!--表头-->姓名 </th>
        <th>语文</th>
        <th>数学</th>
    </tr>
    <tr>
        <td>    <!--内容-->张三</td>
        <td>98</td>
        <td>100</td>
    </tr>
</table>
表格结构标签

把内容划分区域,让表格结构更清晰,语义更清晰

<table border="1"> <!--table表格,border为表格添加边框-->
       <thead>
            <tr>    <!--行-->
                <th>    <!--表头-->姓名 </th>
                <th>语文</th>
                <th>数学</th>
            <tr>
        </thead>
        <tbody>
            <tr>        
                <td>    <!--内容-->张三</td>
                <td>98</td>
                <td>100</td>
            </tr>
        </tbody>
       <tfoot>
            <tr>
                <td>总结</td>
                <td>全班第一</td>
                <td>全校第一</td>
            </tr>  
       </tfoot> 
</table>
合并单元格

将多个单元格合并为一个,以合并同类信息

注意:不能跨结构合并

<table border="1"> <!--table表格,border为表格添加边框-->
        <thead>
             <tr>    <!--行-->
                 <th>    <!--表头-->姓名 </th>
                 <th>语文</th>
                 <th>数学</th>
             <tr>
         </thead>
         <tbody>
             <tr>        
                 <td>    <!--内容-->张三</td>
                 <td>100</td>
                 <td rowspan="2">100</td>
             </tr>
             <tr>        
                <td>    <!--内容-->李四</td>
                <td>98</td>
                <!-- <td>100</td> -->
            </tr>
         </tbody>
        <tfoot>
             <tr>
                 <td>总结</td>
                 <td colspan="2">全校第一</td>
                 <!-- <td>全校第一</td> -->
             </tr>  
        </tfoot> 
</table>

表单

收集用户信息

input应用
<form action="">
        文本框:<input type="text" placeholder="请输入用户名">
    <!--输入什么就显示什么-->
        <br>
        密码框:<input type="password" placeholder="请输入密码">
    <!--输入的内容以 点 形式显示-->
        <br>
        单选框:
        性别:<input type="radio" name="sex" checked>男 <input type="radio" name="sex">女
        <!--checked默认选中,name相同类型,保证单选-->
        <br>
        多选框:
        兴趣爱好:<input type="checkbox" checked>敲代码 <input type="checkbox">敲前端代码<input type="checkbox">游戏
        <br>
        上传文件:<input type="file" multiple>
        <!--multiple可上传多文件-->
</form>
下拉菜单
<form action="">
        城市:
        <select>
            <option>北京</option>
            <option>上海</option>
            <option>广州</option>
            <option selected>河北</option>
        </select>
</form>
文本域

多行输入文本的表单控件

<form action="">
        <!--尺寸受CSS控制-->
        <textarea>请输入评论</textarea>
</form>
label标签

网页中,某个标签的说明文本,增大点击范围

<form action="">
        <input type="radio" id="man"><label for="man">男</label>
        <label> <input type="radio" name="sex">女</label>
</form>
按钮标签
<form action="">
        <!--action发送数据的地址-->
        文本框:<input type="text" placeholder="请输入用户名"><!--输入什么就显示什么-->
        <br>
        密码框:<input type="password" placeholder="请输入密码"><!--输入的内容以 点 形式显示-->
        <br>
       <button type="submit">提交</button>
       <button type="reset">重置</button>
        <button type="button">普通按钮</button>
</form>

在form标签中才能起作用

无语义的布局标签
<div>
        独占一行,换行,区域
</div>
<span>
        不换行
</span>
字符实体

在网页中显示预留字符

空&nbsp;格<br>小于号&lt;p&gt;大于号

CSS

层叠样式表

书写位置:title标签下方添加style双标签,style标签里书写CSS代码

书写规则:

选择器{属性名:属性值;}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style> 
        p{
            color:red;
            font-size: 12px;
        }
    </style>
     <!--内部样式-->
    <link rel="stylesheet" href="./样式.css"><!--外部样式-->
   
</head>
<body>
    <p>体验css</p>
    <div>
        独立一行
    </div>
    <p style="color: green; font-size: 20px;"><!--行内样式-->
        新的文字
    </p>
</body>
</html>

选择器

标签选择器:

使用标签名作为选择器—>选中同名标签设置相同的样式。

类选择器:

查找标签,差异化设置标签的显示效果。

步骤:定义类选择器 . 类名

使用类选择器 标签添加class=“类名”

<style> 
        .blue{
            color: blue;
        }
        .size{
            font-size: 50px;
        }
</style>
<body>
   
    <div class="blue size">
        独立一行
    </div>
    
</body>
Id 选择器:

差异化设置标签显示效果

一般配合JavaScript使用

 <style> 
        #green {
            color:green;
        }
</style>
<div id="green">div</div>
通配符选择器:

查找页面所有标签,设置相同样式

*,不需要调用,浏览器自动查找页面所有标签,设置相同样式

<style> 
        * {
            color:yellow;
        }
</style>
<body>
    <p>pnak</p>
    <div>djfk</div>
</body>

画盒子

使用合适的选择器画盒子

属性作用
width宽度
height高度
background-color背景色
<style> 
        .blue{
            width: 100px;
            height: 100px;
            background-color: brown;
        }
</style>
<body>
   <div class="blue">
        独立一行
    </div> 
</body>

文字控制属性

描述属性
字体大小font-size
字体粗细font-weight
字体倾斜font-style
行高line-height
字体族font-family
字体复合属性font
文本缩进text-indent
文本对齐text-align
修饰线text-decoration
颜色color

文字有默认大小为16px;font-size必须有单位

font-weight 400去加粗;700加粗

行高测量方法:从一行文字最顶量到下一行文字的最顶端

数字+px;数字(当前标签font-size值的倍数

垂直居中技巧:行高度属性值等于盒子高度属性值(只适用于单行文字)

font字号和字体必须书写;

(文字倾斜,文字加粗,字体大小,行高,字体)

对齐方式对内容

修饰线有多种none,underline等

颜色表示方法属性值说明
颜色关键字颜色英文单词red,green,blue...
rgb表示法rgb(r,g,b)r,g,b表示红绿蓝三原色,取值:0-255
rgba表示法rgba(r,g,b,a)a表示透明度,取值:0-1
十六进制表示法#RRGGBB#000000,#ffcc00,简写:#000,#fc0

复合选择器

由两个或多个基础选择器

作用:更准确、更高效的选择目标元素

后代选择器

父选择器 子选择器{CSS属性}

<style>
div span{
    color:red;
    }
</style>

选中所有后代

子代选择器

父选择器 > 子选择器{CSS属性}

<style>
    div > span{
        color:blue;
    }
</style>

只选儿子

并集选择器

多组标签相同样式

选择器1选择器2...选择器n{CSS属性}

<style>
    div,
    p,
    span{
        color:blue;
    }
</style>
交集选择器

选中同时满足多个条件的元素

选择器1选择器2{CSS属性}

既是选择器1又是选择器2

<style>
    p.box{
        color:blue;
    }
</style>
<!--p标签与类标签同时满足下的元素-->
伪类选择器

伪类表示元素状态,选中元素的某个状态设置样式

鼠标悬停状态:选择器:hover{CSS属性}

<style>
   a:hover{
        color:blue;
    }
    .box:hover{
        color:green;
    }
</style>

任何标签都可以设置鼠标悬停状态

伪类-超链接(拓展)
选择器作用
:link访问前
:visited访问后
:hover鼠标悬停
:active点击时(激活)
<style>
    a:link{
        color:red;
    }
    a:visited{
        color:green;
    }
    a:hover{
        color:brown;
    }
    a:active{
        color:blue;
    }
</style>

CSS特性

继承性级默认继承级的文字控制属性

(自己有样式不继承)

层叠性

相同属性会覆盖面覆盖

不同属性会叠加不同的CSS属性都生效

优先级:权重,多种选择器,匹配规则

公式:通配符<标签<类<id<行内样式<!important

(越接近内容,优先级越高)

!important提权功能,提高到最高慎用

优先级-叠加计算规则

公式:(每一级间不存在进位)

(行内,id个数,类个数,标签个数)

  • 从左向右依次比较选个数,同一级个数多的优先级高,如果个数相同,则向后比较

  • !important权重最高

  • 继承权重最低

Emmet写法

代码的简写方式,VScode自动生成

HTML
说明Emmet
类选择器标签名.类名
id选择器标签名#id名
同级标签div*p
父子级div>p
多个相同标签span*3
有内容的标签div(内容)
CSS

大多数简写方式为属性单词首字母

背景属性

描述属性
背景色background-color
背景图background-image
背景图平铺方式background-repeat
背景图位置background-position
背景图缩放background-size
背景图固定background-attachment
背景复合属性background
背景图

网页中使用背景图实现装饰性的图片效果

属性名:background-image(bgi)

属性值:url(背景图URL)

背景图平铺方式

属性名:background-repeat(bgr)

属性值

属性值效果
no-repeat不平铺
repeat平铺(默认效果)
repeat-x水平方向平铺
repeat-y垂直方向平铺
背景图位置

属性名:background-position(bgp)

属性值:水平方向位置 垂直方向位置

  • 关键字

    • 关键字位置
      left左侧
      right右侧
      center居中
      top顶部
      botton底部
  • 坐标(数字+px,正负都可以)

关键字取值方法写法,可以颠倒取值顺序

可以只写一个关键字,另一个方向默认为居中;数字只写一个方向表示水平方向,垂直方向为居中

背景图缩放

作用:设置背景图大小

属性名:background-size(bgz)

常用属性值:

  • 关键字

    • cover:等比例缩放背景图片以完全覆盖背景区,可能背景图片部分看不见

    • contain:等比例缩放背景图片以完全装入背景区,可能背景部分空白

  • 百分比:根据盒子尺寸计算图片大小

  • 数字+单位(例如:px)

背景图固定

作用:背景不会随着元素的内容滚动

属性名:background-attachment(bga)

属性值:fixed

背景复合属性

属性名:background(bg)

属性值:背景色 背景图 背景图平铺方式 背景图位置/背景图缩放 背景图固定(空格隔开各个属性值,不区分顺序

显示模式

标签(元素) 的显示方式

作用:布局网页的时候,根据标签的显示模式选择合适的标签摆放内容

  • 块级元素

    • 独占一行

    • 宽度默认是级的100%

    • 添加宽高属性生效

  • 行内元素

    • 一行可以共存多个

    • 尺寸由内容撑开

    • 加宽高不生效

  • 行内块元素

    • 一行可以共存多个

    • 默认尺寸由内容撑开

    • 加宽高生效

转换显示模式

属性名:display

属性值

属性值效果
block
inline-block
inline(不常用)
结构伪类选择器

作用:根据元素的结构关系查找元素

选择器说明
E:first-child查找第一个E元素
E:last-child查找最后一个E元素
E:nth-child(N)查找第N个E元素(第一个E元素N值为1)

:nth-child(公式)

作用:根据元素的结构关系查找多个元素

功能公式
偶数标签2n
奇数标签2n+1;2n-1
找到5的倍数的标签5n
找到第5个以后的标签n+5
找到第5个以前的标签-n+5
伪元素选择器

作用:创建虚拟元素(伪元素),用来摆放装饰性的内容

选择器说明
E::before在E元素里面面添加一个伪元素
E::after在E元素里面面添加一个伪元素

注意:

  • 必须设置content:“”*属性,用来设置*伪元素的内容,如果没有内容,则引号留空即可

  • 伪元素默认是行内显示模式

  • 权重标签选择器相同

PxCook
  • 开发面板(自动智能识别)

  • 设计面板(手动测量尺寸和颜色)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值