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 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> web阶段学习之HTML&CSS -> 正文阅读

[JavaScript知识库]web阶段学习之HTML&CSS

目录

引言

HTML?

概述

入门

标签学习

文件标签

文本标签

图片标签

列表标签

链接标签

块标签

语义化标签

表格标签

表单标签

表单项标签

CSS

概念

CSS与html结合方式

内联样式

内部样式

外部样式

css语法

基础选择器

扩展选择器

属性


引言

在进行JavaWeb阶段的学习前,我们首先得了解是它干什么的;JavaWeb,使用Java语言开发基于互联网的项目。web前端,主要是给网站做静态页面的,也就是说你平时浏览的网站所看到的页面基本都出自web前端,不过网站版面可以是美工出图。今天,我们来学习关于HTML&CSS的内容。

我们首先来了解web的软件架构:

  • C/S: Client/Server 客户端/服务器端(在用户本地有一个客户端程序,在远程有一个服务器端程序)【优点】用户体验好【缺点】开发、安装、部署、维护 麻烦
  • B/S: Browser/Server 浏览器/服务器端(只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序)【优点】开发、安装、部署、维护 简单 【缺点】1. 如果应用过大,用户的体验可能会受到影响 2.对硬件要求过高

B/S架构详解:

【静态资源】

特点:

1.使用静态网页开发技术发布的资源、2.所有用户访问,得到的结果是一样的、3.如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源

HTML:用于搭建基础网页,展示页面的内容

CSS:用于美化页面,布局页面

JavaScript:控制页面的元素,让页面有一些动态的效果

【动态资源】特点:

1.使用动态网页及时发布的资源、2.所有用户访问,得到的结果可能不一样、3.如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器 (我们要学习动态资源,必须先学习静态资源)

HTML?


概述

html是最基础的网页开发语言-->Hyper Text Markup Language 超文本标记语言-->超文本:超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本-->标记语言:由标签构成的语言。<标签名称> 如 html,xml ?? ?标记语言不是编程语言。

入门

【语法】

html文档后缀名 .html 或者 .htm

【标签】

围堵标签:有开始标签和结束标签。如 <html> </html>

自闭和标签:开始标签和结束标签在一起。如 <br/>

嵌套标签:需要正确嵌套,不能你中有我,我中有你(eg:<a><b></b></a>)

【注意】

在开始标签中可以定义属性。属性是由键值对构成,值需要用引号(单双都可)

html的标签不区分大小写,但是建议使用小写

标签学习

文件标签

构成html最基本的标签;1.html:html文档的根标签、2.head:头标签。用于指定html文档的一些属性。引入外部的资源、3.title:标题标签、4.body:体标签、5.<!DOCTYPE html>:html5中定义该文档是html文档。

文本标签

和文本有关的标签;1.?<h1> to <h6>:标题标签(h1~h6:字体大小逐渐递减)、2.<p>:段落标签、3.<br>:换行标签、4.<hr>:展示一条水平线(color:颜色、width:宽度、size:高度、align:对其方式、center:居中)

<!--hr 显示一条水平线-->
    <hr color="green" width="200" size="10" align="left"/>
    <hr>

5.<b>:字体加粗、6.<i>:字体斜体、7.<font>:字体标签(color:颜色、size:大小、face:字体)、8.<center>:文本居中

<!-- 字体标签 font-->
    <font color="red" size="5" face="楷体">春蚕到死丝方尽,蜡炬成灰泪始干。</font>
    <br>
    <font color="#F00FFF" size="5" face="楷体">春蚕到死丝方尽,蜡炬成灰泪始干。</font>

图片标签

img:展示图片;?属性:src:指定图片的位置; 相对路径:以.开头的路径(./:代表当前目录、../:代表上一级目录)

<!--展示一张图片 img/-->
    <img src="../image/jingxuan_2.jpg"/>
    <img src="../image/jingxuan_2.jpg" align="right" alt="古镇" width="500" height="500"/>

列表标签

有序列表:ol ?li

<!-- 有序列表 ol-->
    早上起床干的事情:
    <ol type="A" START="5">
        <li>睁眼</li>
        <li>看手机</li>
        <li>穿衣服</li>
        <li>洗漱</li>
    </ol>

无序列表:ul ?li

 <!-- 无序列表 ul-->
    早上起床干的事情:
    <ul type="disc">
        <li>睁眼</li>
        <li>看手机</li>
        <li>穿衣服</li>
        <li>洗漱</li>
    </ul>

链接标签

a:定义一个超链接;href:指定访问资源的URL(统一资源定位符)??target:指定打开资源的方式(_self:默认值,在当前页面打开、_blank:在空白页面打开)

<!--超链接 a-->
    <a href="http://www.itcast.cn">点我</a>
    <br>

    <a href="http://www.itcast.cn" target="_self">点我</a>
    <br>
    <a href="http://www.itcast.cn" target="_blank">点我</a>
    <br>

    <a href="./05_列表标签.html">列表标签</a>
    <br>
    <a href="mailto:itcast@itcast.cn">联系我们</a>
    <br>

    <a href="http://www.itcast.cn"><img src="../image/jiangwai_1.jpg"></a>

块标签

div和span;div:每一个div占满一整行,块级标签(自动换行)??span:文本信息在一行展示,行内标签 内联标签(不会自动换行)

<!--
        div:每一个div占满一整行,块级标签
        span:文本信息在一行展示,行内标签 内联标签
    -->
    <span>黑马程序员</span>
    <span>传智播客</span>
    <hr>

    <div>黑马程序员</div>
    <div>传智播客</div>

语义化标签

html5中为了提高程序的可读性,提供了一些标签(<header>:页眉、<footer>:页脚)

表格标签

1.table:定义表格(width:宽度、border:边框、cellpadding:定义内容和单元格的距离、cellspacing:定义单元格之间的距离。如果指定为0,则单元格的线会合为一条、bgcolor:背景色、align:对齐方式)

2.tr:定义行(bgcolor:背景色、align:对齐方式)? 3.td:定义单元格(colspan:合并列、rowspan:合并行)? 4.th:定义表头单元格? 5.<caption>:表格标题? ?6.<thead>:表示表格的头部分? ?7.<tbody>:表示表格的体部分? ?8.<tfoot>:表示表格的脚部分

<table border="1" width="50%" cellpadding="0" cellspacing="0" bgcolor="gray" align="center">
        <thead>
            <caption>学生信息表</caption>
            <tr>
                <!--<td>编号</td>-->
                <!--<td>姓名</td>-->
                <!--<td>成绩</td>-->
                <th>编号</th>
                <th>姓名</th>
                <th>成绩</th>
            </tr>
        </thead>

        <tbody>
            <tr bgcolor="aqua" align="center">
                <td>1</td>
                <td>帅比华</td>
                <td>100</td>
            </tr>

            <tr>
                <td>2</td>
                <td>巴菌儿</td>
                <td>100</td>
            </tr>
        </tbody>

        <tfoot>
            <tr>
                <td>3</td>
                <td>乔巴儿</td>
                <td>100</td>
            </tr>
        </tfoot>
    </table>
    <hr>

表单标签

用于采集用户输入的数据的。用于和服务器进行交互;

form?用于定义表单的。可以定义一个范围,范围代表采集用户数据的范围。? 属性(action:指定提交数据的UR、method:指定提交方式(一共7种,2种比较常用))

get:1. 请求参数会在地址栏中显示。会封装到请求行中??2. 请求参数大小是有限制的??3. 不太安全

post:1. 请求参数不会再地址栏中显示。会封装在请求体中??2. 请求参数的大小没有限制??3. 较为安全

<form action="#" method="post">
    用户名:<input name="username"><br>
    密码:<input name="password"><br>
    <input type="submit" value="登录">
    </form>

表单项标签

input:可以通过type属性值,改变元素展示的样式;

type属性:1.text:文本输入框,默认值? 2.password:密码输入框? 3.placeholder:指定输入框的提示信息,当输入框的内容发生变化,会自动清空提示信息? 4.radio:单选框(1. 要想让多个单选框实现单选的效果,则多个单选框的name属性值必须一样、2. 一般会给每一个单选框提供value属性,指定其被选中后提交的值、3. checked属性,可以指定默认值)? 5.checkbox:复选框(1. 一般会给每一个单选框提供value属性,指定其被选中后提交的值、2. checked属性,可以指定默认值)

<form action="#" method="get">
    <label for="username">用户名:</label><input type="text" name="username" placeholder="请输入用户名" id="username"><br>
    <label for="password">密码:</label><input type="password" name="password" placeholder="请输入密码" id="password"><br>
    性别:<input type="radio" name="gender" value="male" checked="checked"> 男
         <input type="radio" name="gender" value="female"> 女
    <br>
    爱好:<input type="checkbox" name="hobby" value="shopping"> 逛街
         <input type="checkbox" name="hobby" value="java" checked> java
         <input type="checkbox" name="hobby" value="game"> 游戏
    <br>
    <input type="submit" value="登录">

6.file:文件选择框? 7.hidden:隐藏域,用于提交一些信息? 8.?按钮:(submit:提交按钮。可以提交表单、button:普通按钮、image:图片提交按钮)? 9.label:指定输入项的文字描述信息(注:abel的for属性一般会和 input 的 id属性值 对应。如果对应了,则点击label区域,会让input输入框获取焦点

图片:<input type="file" name="file">
    隐藏域:<input type="hidden" name="id" value="aa">
    <br>
    取色器:<input type="color" name="color">
    <br>
    生日:<input type="date" name="birthday">
    <br>
    生日:<input type="datetime-local" name="birthday">
    <br>
    邮箱:<input type="email" name="email">
    <br>
    年龄:<input type="number" name="age">
    <br>
    <input type="submit" value="登录">
    <input type="button" value="一个按钮"><br>
    <input type="image" src="../img/regbtn.jpg">

10.select: 下拉列表(子元素:option,指定列表项、textarea:文本域(cols:指定列数,每一行有多少个字符、rows:默认多少行))

省份:<select name="province">
        <option value="">--请选择--</option>
        <option value="1" selected>北京</option>
        <option value="2">上海</option>
        <option value="3">香港</option>
        </select>
    <br>
    自我描述:<textarea cols="20" rows="5" name="des"></textarea>

CSS


概念

css(页面美化和布局控制),Cascading Style Sheets 层叠样式表(层叠:多个样式可以作用在同一个html的元素上,同时生效)? 。

好处(1. 功能强大、2. 将内容展示和样式控制分离)-->降低耦合度。解耦、让分工协作更容易、??提高开发效率。

CSS与html结合方式

内联样式

在标签内使用style属性指定css代码(eg:<div style="color:red;">hello css</div>)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!--内联样式 (不推荐)
       在标签内使用style属性指定css代码-->
<div style="color: yellow;">hello css</div>

</body>
</html>

内部样式

在head标签内,定义style标签,style标签的标签体内容就是css代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div{
            color: blue;
        }
    </style>
</head>
<body>
    <!--内部样式
       在head标签内,定义style标签,style标签的标签体内容就是css代码-->
    <div>hello css</div>
</body>
</html>

外部样式

1. 定义css资源文件??2. 在head标签内,定义link标签,引入外部的资源文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!--可以不通过link标签的引用-->
    <!--<link rel="stylesheet" href="../css/a.css">-->
    <style>
        @import "../css/a.css";
    </style>
</head>
<body>
    <!--外部样式
       1. 定义css资源文件。
		2. 在head标签内,定义link标签,引入外部的资源文件
       -->
<div>hello css</div>
<div>hello css</div>

<p>呀呼</p>

</body>
</html>

注:1,2,3种方式 css作用范围越来越大??1方式不常用,后期常用2,3。

css语法

格式:
		选择器 {
			属性名1:属性值1;
			属性名2:属性值2;
			...
		}

选择器:筛选具有相似特征的元素(注:每一对属性需要使用;隔开,最后一对属性可以不加;)

基础选择器

1. id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一

2. 元素选择器:选择具有相同标签名称的元素(语法: 标签名称{}? (注意:id选择器优先级高于元素选择器))

3. 类选择器:选择具有相同的class属性值的元素(语法:.class属性值{}?(注意:类选择器选择器优先级高于元素选择器))

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基础选择器</title>
    <style>
        #div1{
            color: red;
        }
        div{
            color: green;
        }
        .cls1{
            color: blue;
        }

    </style>
</head>
<body>

<!-- 1.id选择器:选择具体的id属性值的元素,建议在一个html页面中id值唯一
    语法:#id属性值{}     -->

<div id="div1">传智播客</div>
<div>黑马程序员</div>

<!--2. 元素选择器:选择具有相同标签名称的元素
    语法: 标签名称{}
        注意:id选择器优先级高于元素选择器-->

<!--3. 类选择器:选择具有相同的class属性值的元素。
    语法:.class属性值{}
    注意:类选择器选择器优先级高于元素选择器-->
<p class="cls1">传智学院</p>

</body>

扩展选择器

1. 选择所有元素:(语法: *{})

2. 并集选择器:(选择器1,选择器2{})

3. 子选择器:筛选选择器1元素下的选择器2元素(语法: ?选择器1 选择器2{})

4. 父选择器:筛选选择器2的父元素选择器1(语法: ?选择器1 > 选择器2{})

5.属性选择器:选择元素名称,属性名=属性值的元素(语法: ?元素名称[属性名="属性值"]{})

6. 伪类选择器:选择一些元素具有的状态(语法: 元素:状态{})?link:初始化的状态、visited:被访问过的状态、active:正在访问状态、hover:鼠标悬浮状态

属性

1. 字体、文本(font-size:字体大小、color:文本颜色、text-align:对其方式、line-height:行高)

2. 背景(background)? 3. 边框(border:设置边框,符合属性)??4. 尺寸(width:宽度、height:高度)

5. 盒子模型:控制布局? (margin:外边距、padding:内边距(默认情况下内边距会影响整个盒子的大小、box-sizing: border-box; ?设置盒子的属性,让width和height就是最终盒子的大小)?float:浮动?(left、right))

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-31 23:55:34  更:2022-03-31 23:56:22 
 
开发: 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/24 4:19:19-

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