【 HTML基础知识】

目录

 HTML

 创建HTML页面

 列表标签

 图片标签img

 超链接a

 表格标签table

 表单form

 分区标签

 CSS

 选择器

 选择器

 颜色赋值

 背景图片

 文本和字体相关的样式

 元素的显示方式display

 盒子模型

 盒子模型之content

 盒子模型之外边距

 盒子模型之border边框

 盒子模型之padding内边距

 CSS三大特性


 HTML

作用: 学习如何搭建页面结构和准备页面内容 (盖房子)

HyperTextMarkupLanguage超文本标记语言

超文本: 不仅仅是纯文本还包括字体效果和多媒体相关(音频,视频,图片)

 创建HTML页面

 文本相关标签

1. h1-h6 内容标题

   特点: 字体加粗   自带上下的间距  独占一行

2. 段落标签p

   特点: 自带上下间距  独占一行

3. 水平分割线hr

4. 换行br     html页面中无法识别回车换行(只能识别出一个空格)

5. 加粗b

6. 斜体i

7. 删除线s

8. 下划线u

 列表标签

1. 无序列表: ul和li        ul:unordered list 无序列表    li:list item 列表项

2. 有序列表:    ol 和li        ordered list

3. 列表嵌套: 有序列表和无序列表可以任意无限嵌套

 图片标签img

src: 设置图片路径,

  可以访问站内资源

    图片和页面在同级目录: 直接写图片名

    图片在页面的上级目录: ../图片名

    图片在页面的下级目录: 文件夹名/图片名

  也可以访问站外资源, 称为图片盗链, 有找不到图片的风险

alt: 当图片不能正常显示时显示的文本

title: 当鼠标在图片上悬停时显示的文本

width/height: 设置宽高,     两种赋值方式: 1.像素  2. 百分比    只设置宽度时高度会自动等比例缩放

 超链接a

href: 类似于图片标签的src属性,设置资源路径

页面内部跳转: 在目的地元素里面添加个id  然后在超链接中 href="#id" 就可以跳转到目的地的位置

a标签包裹文本为文本超链接, 包裹图片为图片超链接

 表格标签table

相关标签: table表格   tr表示行  td表示列 caption表格标题 th表头

相关属性: border边框    colspan跨列   rowspan跨行

 表单form

作用: 获取用户输入的内容,并提交给服务器

学习表单主要学习的就是有哪些控件, 包括: 文本框,密码框,单选,多选,下拉选等

相关代码:

<form action="http://www.tmooc.cn">

    <!所有控件必须添加name属性 否则将不会提交参数

    maxlength最大字符长度 value设置默认值 readonly只读 >

    用户名:<input type="text" name="username" maxlength="5"

               value="abc" readonly

               placeholder="用户名"><br>

    密码:<input type="password" name="password" placeholder="密码"><br>

    <!单选的value属性必须添加 否则提交的是on checked默认选中 >

    性别:<input type="radio" name="gender" value="m" id="r1">

    <label for="r1">男</label>

    <input type="radio" name="gender" checked value="w" id="r2">

    <label for="r2">女</label><br>

    <!多选属性和单选属性写法一样>

    兴趣爱好:<input type="checkbox" name="hobby" value="cy">抽烟

    <input type="checkbox" name="hobby"

           checked value="hj">喝酒

    <input type="checkbox" name="hobby" value="tt">烫头<br>

    <!日期选择器>

    生日:<input type="date" name="birthday"><br>

    <!文件选择器>

    靓照:<input type="file" name="pic"><br>

    <!下拉选>

    所在地:

    <select name="city">

        <!value设置提交的内容, 如果没有value则提交标签体的文本>

        <option value="bj">北京</option>

        <!selected设置默认选中>

        <option selected value="sh">上海</option>

        <option value="gz">广州</option>

    </select><br>

    <input type="submit" value="注册">

    <input type="reset" value="重新设置">

    <!自定义按钮>

    <input type="button" value="按钮">

    <hr>

    <button type="submit">注册</button>

    <button type="reset">重置</button>

    <button type="button">按钮</button>

</form>

 分区标签

作用: 可以理解为一个容器, 把多个有相关性的标签装进一个分区标签中, 可以进行统一管理.  

常见的分区标签:

  div: 独占一行

  span:共占一行

页面如何进行区域划分?

  一般情况下一个页面由个大区组成, 每个大区里面又有n个小的区域

HTML5标准中新增的分区标签, 作用和div是一样的 为了提高代码的可读性

  header头

  main主体

  footer脚

  nav导航

  section区域

 CSS

Cascading Style Sheet 层叠样式表

作用: 美化页面(装修)

 如何在html页面中写CSS样式代码

三种引入方式:

  内联样式: 在标签的style属性中添加样式代码, 弊端:不能复用

  内部样式: 在head标签里面添加style标签,在标签体内写样式代码, 可以复用,但是只能在当前页面复用 不能多页面复用  

  外部样式: 在单独的css样式文件中写样式代码, 在html页面中通过link标签引入,可以实现多页面复用.  

工作中外部样式使用的更多因为可以多页面复用而且可以将html代码和css样式代码分离开 便于维护  

 选择器

1. 标签名选择器: 匹配页面中所有同名标签

   格式: 标签名{样式代码}

2. id选择器:  当需要选择页面中某一个元素时使用

   格式: #id{样式代码}

3. 类选择器: 当需要选择页面中多个不相关的元素时,给元素添加相同的class属性值

   格式:.class{样式代码}

4. 分组选择器:  可以将多个选择器合并成一个选择器   

   格式: div,#id,.class{样式代码}

5. 属性选择器: 通过元素的属性选择元素

   格式: 标签名[属性名='值']{样式代码}   

6. 任意元素选择器:  匹配页面中所有元素

   格式: *{样式代码}

7. 子孙后代选择器: 通过元素和元素之间关系 匹配某一层元素以及这一层内部的所有

   格式: body div div p{样式代码}  匹配body里面的div里面的div里面的所有p(包含后代)

8. 子元素选择器: 通过元素和元素之间关系 匹配某一层元素

   格式: body>div>div>p{样式代码}  匹配body里面的div里面的div里面的所有p子元素(不包含后代)

 选择器

1. 标签名选择器: 匹配页面中所有同名标签

   格式: 标签名{样式代码}

2. id选择器:  当需要选择页面中某一个元素时使用

   格式: #id{样式代码}

3. 类选择器: 当需要选择页面中多个不相关的元素时,给元素添加相同的class属性值

   格式:.class{样式代码}

4. 分组选择器:  可以将多个选择器合并成一个选择器   

   格式: div,#id,.class{样式代码}

5. 属性选择器: 通过元素的属性选择元素

   格式: 标签名[属性名='值']{样式代码}   

6. 任意元素选择器:  匹配页面中所有元素

   格式: *{样式代码}

7. 子孙后代选择器: 通过元素和元素之间关系 匹配某一层元素以及这一层内部的所有

   格式: body div div p{样式代码}  匹配body里面的div里面的div里面的所有p(包含后代)

8. 子元素选择器: 通过元素和元素之间关系 匹配某一层元素

   格式: body>div>div>p{样式代码}  匹配body里面的div里面的div里面的所有p子元素(不包含后代)

9. 伪类选择器:  匹配的是元素的状态, 包括: 未访问状态,访问过状态,悬停状态,点击状态

 颜色赋值

 三原色: 红绿蓝,  RGB   Red Green Blue,   每个颜色的取值范围0255    

 五种赋值方式:

   颜色单词:   red/black/yellow/blue.....

   6位16进制赋值:    #ff0000  

   3位16进制赋值:    #f00

   3位10进制赋值:    rgb(255,0,0)

   4位10进制赋值:    rgba(255,0,0,01)     a=alpha代表透明度 值越小越透明

 背景图片

 backgroundimage:url("图片路径");  设置背景图片

 backgroundsize: 宽度 高度; 设置背景图片尺寸

 backgroundrepeat:norepeat; 禁止重复

 backgroundposition: 横向 纵向;  设置背景图片位置

 文本和字体相关的样式

 textalign:left/right/center; 设置文本水平对齐方式

 textdecoration:overline/underline/linethrough/none  文本修饰

 lineheight:20; 设置行高  单行可以实现垂直居中, 多行可以控制行间距

 textshadow:颜色 x偏移值 y偏移值 浓度;   设置阴影

 fontsize:20px;  设置字体大小

 fontweight: bold/normal; 设置加粗 和去掉加粗

 fontstyle: italic; 设置斜体

 fontfamily:xxx,xxx,xxx,xxx; 设置字体

 font: 20px  xxx,xxx,xxx; 设置字体大小+字体

 元素的显示方式display

 block:块级元素的默认值, 特点: 独占一行并且可以修改宽高, 包括: h1h6, p, div等

 inline:行内元素的默认值, 特点: 共占一行, 不能修改宽高, 包括: span,b,i,s,u,a

 inlineblock:行内块元素的默认值, 特点:共占一行并可以修改宽高, 包括:img,input等

 none: 隐藏元素

 盒子模型

 盒子模型= content内容+margin外边距+border边框+padding内边距

 作用: 控制元素的显示效果

   content,包含width和height,控制元素显示尺寸

   margin外边距:控制元素显示的位置   

   border边框: 控制边框效果

   padding内边距: 控制元素内容的位置

 盒子模型之content

 包含 width和height  通过这两个样式设置元素的宽和高

 赋值方式:

   像素

   上级元素的百分比

 行内元素width和height无效,如果一定要改宽高需要将元素显示方式改成block或inlineblock这两种方式

 盒子模型之外边距

 元素距上级元素或相邻兄弟元素的距离称为外边距   

 赋值方式:

   marginleft/right/top/bottom:20px;  单独某一个方向赋值

   margin:20px; 四个方向赋值

   margin:10px 20px; 上下10 左右20     ,左右auto代表居中

   margin:10px 20px 30px 40px; 上右下左 顺时针赋值

 行内元素上下外边距无效

 上下相邻彼此添加外边距取最大值, 左右相邻两者相加

 粘连问题: 当元素的上边缘和上级元素的上边缘重叠时,给元素添加上外边距,会出现粘连问题,给上级元素添加overflow:hidden解决此问题.

 盒子模型之border边框

 赋值方式:

   borderleft/right/top/bottom: 粗细 样式 颜色;    单独某个方向添加边框

   border:粗细 样式 颜色;    四个方向添加边框

 设置圆角:   borderradius:20px;   值 越大 越圆  

 盒子模型之padding内边距

 作用: 控制元素内容的位置, 元素边缘距内容的距离称为内边距

 赋值方式:  和外边距类似

   paddingleft/top/bottom:20px; 单独某个方向赋值

   padding:20px; 四个方向赋值

   padding:10px 20px; 上下和左右赋值

   padding:10px 20px 30px 40px; 上右下左顺时针赋值

 给元素添加内边距会影响元素的宽高, 给元素添加boxsizing:borderbox; 样式后不再影响

 CSS三大特性

 继承性: 元素可以继承上级元素文本和字体相关的样式, 部分标签自带的效果不受继承影响

 表设计面试题    

2021年过年时小明在这些天都收到了许多亲戚\朋友还有同事的红包,也发出了一些红包,有的是微信,有的是支付宝也有现金,请参考下面的题目帮小明设计表格保存红包的信息

1. 设计表 (至少包含一张流水表)

    先列出需要保存的数据有哪些

     人物关系,红包类型,时间,金额,性别,名字

    将需要保存的数据进行拆分,用不同的表去保存数据, 需要考虑数据冗余的问题

      流水表: id,红包金额,红包类型,时间,人物id

       

create database web charset=utf8;

       use web;

       create table trade(id int primary key auto_increment,money int,type varchar(20), time date,p_id int);

      人物表: id,名字,性别,关系

     

  create table person(id int primary key auto_increment,name varchar(20),gender char(1),rel varchar(10));

      准备数据:

       往人物表中插入以下数据:     刘德华,男,亲戚     杨幂,女,亲戚       马云,男,同事         

       特朗普,男,朋友               貂蝉,女,朋友

      

 insert into person values(null,'刘德华','男','亲戚'),(null,'杨幂','女','亲戚'),(null,'马云','男','同事'),(null,'特朗普','男','朋友'),(null,'貂蝉','女','朋友');

     

           刘德华 微信 收1000 20210320   

           杨幂 现金 收500 发50 20210414    

           马云 支付宝 收20000 发5 20210311    

           特朗普 微信 收2000  20210518    

           貂蝉 微信 发20000 20210722

      

 insert into trade values(null,1000,'微信',"20210320",1),



       (null,500,'现金',"20210414",2),(null,50,'现金',"20210414",2),



       (null,20000,'支付宝',"20210311",3),(null,5,'支付宝',"20210311",3),



       (null,2000,'微信',"20210518",4),



       (null,20000,'微信',"20210722",5);

2. 统计2021年3月15号到现在的所有红包收益

  select sum(money) from trade where time>="2021315";

3. 查询2021年2月15号到现在 金额大于100 所有女性亲戚的名字和金额

  

 select name,money



   from trade t join person p on t.p_id=p.id



   where time>="2021215" and abs(money)>100 and gender='女' and rel='亲戚';

4. 查询三个平台(微信,支付宝,现金)分别收入的红包金额  

  

 select type,sum(money) from trade where money>0 group by type;

相关推荐

  1. HTML基础知识

    2024-07-10 16:52:04       26 阅读
  2. HTML基础知识

    2024-07-10 16:52:04       26 阅读
  3. htmlhtml基础知识(面试重点)

    2024-07-10 16:52:04       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 16:52:04       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 16:52:04       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 16:52:04       90 阅读
  4. Python语言-面向对象

    2024-07-10 16:52:04       98 阅读

热门阅读

  1. Vue3框架搭建3:配置说明-prettier配置

    2024-07-10 16:52:04       25 阅读
  2. Python基础练习•二

    2024-07-10 16:52:04       30 阅读
  3. 【Unity】ScreenToWorldPoint转换三维空间MousePosition

    2024-07-10 16:52:04       25 阅读
  4. AD确定板子形状

    2024-07-10 16:52:04       25 阅读
  5. ELK优化之Elasticsearch

    2024-07-10 16:52:04       30 阅读
  6. QianfanLLMEndpoint和QianfanChatEndpoint的区别

    2024-07-10 16:52:04       29 阅读
  7. MMSegmentation笔记

    2024-07-10 16:52:04       22 阅读