javaweb01-html、css基础

话不多说,先来一张泳装板鸭镇楼

接上一开篇,

首战以web的三大基石开头(html、css、js),js内容比较多,下一序章讲解,这一章节主要以html和css为主。

目录

一、初始web前端

二、HTML标签结构

三、Vscode插件下载列表

四、新闻排版演练-上阙

五、CSS样式

六、盒子模型-布局

七、新闻排版演练-下阙

八、总结

一、初始web前端

  • Web标准是一些规范的集合,是由W3C和其他的标准化组织共同制定的,以用它来创建和解释网页的基本内容。这些规范是专门为了那些在网上发布的可向后兼容的文档所设计,使其能够被大多数人所访问。

网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。这些标准大部分由W3C(World Wide Web Consortium)起草和发布,也有一些是其他标准组织制订的标准,比如ECMA(European Computer Manufacturers Association)的ECMAScript标准。

- 三个组成部分:

(1) HTML:负责网页的结构(页面的元素和内容)

(2)CSS:负责网页的样式(元素外观、页面样式之类的)

(3)JS:负责网页的行为(交互)

![页面结构.png](https://upload-images.jianshu.io/upload_images/2904860-155368a66f3c2c25.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)

文本javaweb开篇(html元素),有加粗效果(css),编辑文章可以点击(js)


二、HTML标签结构

2.1HTML标签组成

创建一个后缀为.html的文件,通过vscode(建议用这个软件)打开后,输入!字符,会快捷生成html结构,直接上代码。

javascript 复制代码
```

<!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>

```

`1.<!DOCTYPE html>:#表明这是一个html文档`

`2.<html lang="en">: #向搜索引擎表示该页面是Html语言且语言为英文,如果你是中文的话,可以可以改成zh,language语言的意思,本身没什么用,就是给搜索引擎看的,因为搜索引擎不会判断该站点属于中文还是英文,html规范,你的页面越规范,越容易被收录`

` 3.<meta charset="UTF-8">: #规定HTML文档的字符编码`

` 4.<meta name="viewport" content="width=device-width, initial-scale=1.0">:#兼容用的,标识宽度为设备宽度,初始的缩放比例为1.0 `

`5.<title>Document</title>:#标题 `

` 6.<body>:#内容`

2.2特点:

  • HTML标签不区分大小写。HTml、htML都可以,一个意思

  • HTML标签属性值单双引号都可以。'UTF-8'也可以

  • HTML语法比较松散。比如不写</html>的尾结构,也可以正常运行


三、Vscode插件下载列表

Chinese language、code spell checker、html css support、javascript code snippets、mithril emmet、path intellisense、vue 3 snippets、vuehelper、auto close tag、auto rename tag、beautify、bracket pair colorizer、open in browser、vetur、injellj idea keybindings(可选,idea的快捷键同步)、html to css autocompletion

比较多,但真的很实用!


四、新闻排版演练-上阙

![某新闻页.png]

初步看界面元素,有标题、图片、文本、超连接、颜色、视频等等

4.1 标题部分

javascript 复制代码
```

<!-- 文档类型为html -->

<!DOCTYPE html>

<html lang="en">



<head>

<!-- 字符集为utf-8 -->

<meta charset="UTF-8">

<!-- 设置浏览器兼容性 -->

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</title>

</head>



<body>

<!-- src 图片资源路径 -->

<!-- width 宽度(px:像素 ,百分比:相对于父元素的百分比) -->

<!-- height 高度 (px:像素 ,百分比:相对于父元素的百分比)-->

<!-- 路径指定方式

1.绝对磁盘路径:

本地磁盘 /vosuma/user/1111.png

网络绝对路径 https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png

2.相对路径(推荐):

./ :当前目录, 可以省略

../:上一级目录,不可省略 -->

<img src="https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png"> 新浪政务 > 正文

<h1>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</h1>

<!-- 水平分割线 -->

<hr>

2023年08月22日 20:45 央视网

<hr>

</body>



</html>



```

`1.img:src指定图片路径,可以分为绝对路径和相对路径。绝对路径可以分为本地磁盘绝对路径和网络绝对路径,本地磁盘绝对路径为电脑本地图片真实地址,网络绝对路径属于网络指向图片的真实链接。相对路径则是提前图片等资源单独存储在工程文件夹内,可能是当前目录,也可能是上一级目录`

`2.h1-h6标题,代表不同的表现,只有这几个级别`

`3.hr分割线`

![小结效果.png](https://upload-images.jianshu.io/upload_images/2904860-a059103a6dd7a7c6.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)

4.2正文部分

javascript 复制代码
```

<!-- 文档类型为html -->

<!DOCTYPE html>

<html lang="en">



<head>

<!-- 字符集为utf-8 -->

<meta charset="UTF-8">

<!-- 设置浏览器兼容性 -->

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</title>

</head>



<body>

<!-- src 图片资源路径 -->

<!-- width 宽度(px:像素 ,百分比:相对于父元素的百分比) -->

<!-- height 高度 (px:像素 ,百分比:相对于父元素的百分比)-->

<img src="https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png"> 新浪政务 > 正文

<h1>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</h1>

<!-- 水平分割线 -->

<hr>

2023年08月22日 20:45 央视网

<hr>



<video src="/Users/Desktop/newsvideo.mp4" controls height="300px" width="100%"></video>

<span>进入主汛期以来,北京多地遭遇持续强降雨。广大党员干部冲锋在前,和人民群众风雨同舟,共同构筑起防汛救灾、守护家园的坚固防线。7月31日上午,在北京市门头沟区色树坟村村委会,包村干部熊丽频繁望向窗外,观察雨情,这是她生前留下的最后影像。面对此次严峻汛情,熊丽始终坚守一线,参与群众疏散转移、物资筹集、风险点位巡查等工作。7月31日上午,在与村干部一同勘察险情的途中,一处铁道路基护墙突然发生了坍塌,熊丽不幸被掩埋,因公牺牲,年仅36岁。在本轮强降雨过程中,色树坟村成功转移群众110余人,没有人员伤亡。</span>

<img src="https://k.sinaimg.cn/n/news/crawl/59/w550h309/20230823/4cef-e6a512e75ae14eb1de0c457b4b1cf407.png/w700d1q75cms.jpg?by=cms_fixed_width">



<span>北京市门头沟区色树坟村村委会主任 宗秀山:熊丽坚决说她说去,镇里派我们在村里包村,就是做这项工作的,说有这种情况,我能不去吗,这就是她最后一句话。那几个村民也是,根本不考虑手破了什么的,当时的心情就是赶紧把她弄出来,就事后一聊这段的时候,真的说不下去了。受强降雨引发塌方影响,7月30日,从内蒙古开往北京的K396次列车,被迫滞留在北京门头沟区落坡岭站,近千名受困旅客被临时安置在附近的落坡岭社区。这个只有三百多常住人口的社区,在党支部书记孟二梅的带领下,尽最大努力向被困旅客提供帮助。</span>

<img src="https://k.sinaimg.cn/n/news/crawl/59/w550h309/20230823/bb6e-e82ab09f5b6ef5b077d1286c7bd99ef1.png/w700d1q75cms.jpg?by=cms_fixed_width" alt="">

<span>责任编辑:王树淼 SN242</span>



</body>



</html>

```

`1.video视频标签,路径引入方式与图片相同,我这里因为没有视频资源,我手机录了一个视频,跟网页有点不兼容(随便看看)`

`1.1video-controls 主要显示video的播放控制器,如果没有操作,可以不用赋值,我这没赋值默认`

`1.2video-width-height:表示宽高,单位可以是px、cm、百分比`

`2.span,组合行内元素,没有任何语义,此处用这个的原因css讲解`

![小结效果.png](https://upload-images.jianshu.io/upload_images/2904860-137445298705046d.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)

五、CSS样式

如上小结最终网页效果,可以说是有点惨不忍睹,这就是html主要的作用,处理页面排版、元素之类的。而怎么变的好看呢,需要css来处理,css主要是美化页面、元素样式。

5.1css样式引入规则

  • 行内样式:写在标签的style属性中

    复制代码
    <h1 style="color: red;">"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</h1>
  • 内嵌样式:写在style标签中(可以写在任何位置,通常是在head标签中)

    复制代码
    <head>
    
    <meta charset="UTF-8">
    
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <title>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</title>
    
    
    
    <style>
    
    h1 {
    
    color: red;
    
    }
    
    </style>
    
    </head>
    
    
    
    <body>
    
    <h1>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</h1>
    
    </body>
  • 外联样式:写在一个单独的css文件中(需要通过link标签引入)

    复制代码
    news.css文件内容:
    
    h1 {
    
    color: grey;
    
    }
    复制代码
    /* h1:选择器,用于标记生效标签 */
    
    <head>
    
    <meta charset="UTF-8">
    
    <!-- 设置浏览器兼容性 -->
    
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <title>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</title>
    
    <link rel="stylesheet" href="./css/news.css">
    
    </head>

5.2css选择器

相信细节的朋友已经发现了,关于style中的h1{}的写法,html中需要给特定的元素设置样式的时候,要先知道你要给什么元素设置,而标识元素从而找到元素的行为是交给选择器处理的,分为三种选择器。

  • 元素选择器 :标签名(h1 title span)

    复制代码
    <title>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</title>
  • 类选择器:.class属性值。可以存在多个,我理解是小部分范围内样式统一标签

    复制代码
    <style>
    
    .title_style {
    
    color: aqua;
    
    }
    
    </style>
    
    
    
    <h1 class="title_style">"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</h1>
    
    <!-- 水平分割线 -->
    
    <hr class="title_style">
    
    2023年08月22日 20:45 央视网
    
    <hr>
  • id选择器:#id属性值。有且当前页只能有一个

    复制代码
    <style>
    
    #title_style{
    
    color: aqua;
    
    }
    
    </style>
    
    
    
    <h1 id="title_style">"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</h1>
  • 同覆盖时优先级:id选择器>类选择器>元素选择器,通俗就是越小范围优先级越高

六、盒子模型-布局

页面中所有的元素(标签),都可以看做是一个盒子,由盒子将页面中的元素包含在一个矩形区域内,通过盒子视角更方便进行页面布局。

6.1盒子模型组成

  • 内容区域 content

  • 内边距区域 padding

  • 边框区域 border

  • 外边距区域margin

6.2布局标签

div标签和span标签,问了问web开发朋友,在实际项目中,会有大量的频繁使用的div和span标签,这俩都是没有语义的布局标签

div标签

  • 一行只显示一个(独占一行)

  • 宽度默认是父元素的宽度,高度默认根据内容撑开

  • 可以设置宽高

span标签

  • 一行可以显示多个

  • 宽度和高度默认由内容撑开

  • 不可以设置宽高

6.3盒子代码演示

```

<!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>

div {

width: 200px;

height: 200px;

box-sizing: border-box;

background: gray;

padding: 20px 20px 20px 20px;

border: 10px solid red;

margin: 20px 20px 20px 20px;

}

</style>

</head>



<body>

<div>A A A A A A A A A A A A A A A A A A A A A A A A A A A A A</div>

</body>



</html>

```

`1.width-height:指定宽高`

`2.box-sizing:指定宽高为盒子的宽高,也就是盒子大小200*200,从图可以看到margin是不算在盒子里的`

`3.padding:内边距区域,赋值顺序为 顺时针,上右下左`

`4.border:边框,10px位边框宽度,solid为实线填充`

`5.margin :外边距区域,赋值顺序为顺时针 ,上右下左`

`6.background:背景色`

盒子的概念比较重要,可以自己写写多看看这块,以后写布局的时候这个概念要用的非常熟悉才行

#七、新闻排版演练-下阙

javascript 复制代码
```

<!-- 文档类型为html -->

<!DOCTYPE html>

<html lang="en">



<head>

<meta charset="UTF-8">

<!-- 设置浏览器兼容性 -->

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</title>

<style>

a {

color: blue;

text-decoration: none;

}



h1 {

color: #4d4f53;

}



#time {

color: #c2c8d1;

}



p {

text-indent: 2cm;

line-height: 40px;

}



.content_img {

width: 100%;

}



#center {

width: 70%;

/* margin: 0 15% 0 15%; */

margin: 0 auto;

}



#zrbj {

text-align: right;

}

</style>

</head>



<body>

<div id="center">

<img src="https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png"> 新浪政务 > 正文

<h1>"我们有一口吃的,坚决不能让他们饿着" 风雨中这样的守护温暖感人</h1>

<!-- 水平分割线 -->

<hr>

<span id="time">2023年08月22日20:45</span>

<span><a href="https://www.jianshu.com/u/07e55886f971" target="_blank">央视网</a></span>

<hr>



<!-- <video src="/Users/Desktop/newsvideo.mp4" height="300px" width="100%"></video> -->

<p>进入主汛期以来,北京多地遭遇持续强降雨。广大党员干部冲锋在前,和人民群众风雨同舟,共同构筑起防汛救灾、守护家园的坚固防线。7月31日上午,在北京市门头沟区色树坟村村委会,包村干部熊丽频繁望向窗外,观察雨情,这是她生前留下的最后影像。面对此次严峻汛情,熊丽始终坚守一线,参与群众疏散转移、物资筹集、风险点位巡查等工作。7月31日上午,在与村干部一同勘察险情的途中,一处铁道路基护墙突然发生了坍塌,熊丽不幸被掩埋,因公牺牲,年仅36岁。在本轮强降雨过程中,色树坟村成功转移群众110余人,没有人员伤亡。

</p>



<img class="content_img"

src="https://k.sinaimg.cn/n/news/crawl/59/w550h309/20230823/4cef-e6a512e75ae14eb1de0c457b4b1cf407.png/w700d1q75cms.jpg?by=cms_fixed_width">

<br>

<p><b>北京市门头沟区色树坟村村委会主任宗秀山:</b>熊丽坚决说她说去,镇里派我们在村里包村,就是做这项工作的,说有这种情况,我能不去吗,这就是她最后一句话。那几个村民也是,根本不考虑手破了什么的,当时的心情就是赶紧把她弄出来,就事后一聊这段的时候,真的说不下去了。受强降雨引发塌方影响,7月30日,从内蒙古开往北京的K396次列车,被迫滞留在北京门头沟区落坡岭站,近千名受困旅客被临时安置在附近的落坡岭社区。这个只有三百多常住人口的社区,在党支部书记孟二梅的带领下,尽最大努力向被困旅客提供帮助。

</p>



<img class="content_img"

src="https://k.sinaimg.cn/n/news/crawl/59/w550h309/20230823/bb6e-e82ab09f5b6ef5b077d1286c7bd99ef1.png/w700d1q75cms.jpg?by=cms_fixed_width">

<p id="zrbj">责任编辑:王树淼 SN242</p>

</div>

</body>



</html>

```

style行为,我用内联方式,方便代码展示

`1.p:段落`

`2.b或strong:文本加粗,strong表示突出,但其实展示效果一样`

`3.br:换行`

`4.css属性:text-indent段落缩进、line-height行距、text-decoration下划线、text-align文本对齐方式`

`5. a 超链接引入 href 为地址 target中_blank为打开新的标签 _self在当前标签打开 `

八、总结

>主要围绕html和css的一些基本概念进行讲解,通过概念说明+项目实练加深对html、css的理解,其中比较关键的概念是盒子布局。

其中涉及的所有标签:

title 标题

img 图片 src 图片路径

h1-h6 标题级别

hr 分割线

video 视频 controls 播放控制器

span 布局标签,没实际含义,一行可以显示多个,宽高默认内容撑开,不支持手动设置宽高

box-sizing 盒子大小 border-box指定宽高属性对盒子生效

padding 内边距区域 顺时针 上右下左,可以简写auto

border 边框 solid 实线

margin 外边距区域

background 背景色

div 布局标签,没实际含义,一行只可以显示一个,宽度默认父元素宽度,高度默认由内容撑开 ,可以设置宽高!要考的

p 段落

br 换行

b、strong 加粗

a 超链接引入 href 为地址 target中_blank为打开新的标签 _self在当前标签打开

text-indent段落缩进

line-height行距

text-decoration下划线

text-align文本对齐方式

相关推荐
Martin -Tang15 分钟前
vite和webpack的区别
前端·webpack·node.js·vite
迷途小码农零零发16 分钟前
解锁微前端的优秀库
前端
王解1 小时前
webpack loader全解析,从入门到精通(10)
前端·webpack·node.js
我不当帕鲁谁当帕鲁1 小时前
arcgis for js实现FeatureLayer图层弹窗展示所有field字段
前端·javascript·arcgis
那一抹阳光多灿烂1 小时前
工程化实战内功修炼测试题
前端·javascript
放逐者-保持本心,方可放逐2 小时前
微信小程序=》基础=》常见问题=》性能总结
前端·微信小程序·小程序·前端框架
毋若成4 小时前
前端三大组件之CSS,三大选择器,游戏网页仿写
前端·css
红中马喽4 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
Black蜡笔小新5 小时前
网页直播/点播播放器EasyPlayer.js播放器OffscreenCanvas这个特性是否需要特殊的环境和硬件支持
前端·javascript·html
秦jh_6 小时前
【Linux】多线程(概念,控制)
linux·运维·前端