homework1
homework1.1
页面标签的标题为:Web应用课作业
charset为:UTF-8
keywords为:acwing,web,html
description为:本课程为【AcWing工程课系列——Level-3 第一篇】《Web应用课》,讲解Web相关知识。
icon设置为:/images/logo.png
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Web应用课作业</title>
<meta name="keywords" content="acwing,web,html">
<meta name="description" content="本课程为【AcWing工程课系列——Level-3 第一篇】《Web应用课》,讲解Web相关知识。">
<link rel="icon" href="/images/logo.png">
</head>
<body>
</body>
</html>
homework1.2
页面从上到下的内容依次为:
(1) [HTML_REMOVED]标题,内容为:春江花月夜。
(2) [HTML_REMOVED]标题,内容为:张若虚。
(3) 编写一个段落,内容为(注意标点和行末回车):
春江潮水连海平,海上明月共潮生。
滟滟随波千万里,何处春江无月明!
江流宛转绕芳甸,月照花林皆似霰;
空里流霜不觉飞,汀上白沙看不见。
江天一色无纤尘,皎皎空中孤月轮。
江畔何人初见月?江月何年初照人?
人生代代无穷已,江月年年望相似。
(4) 一个水平线
(5) 一段代码,需要用预定义格式文本,内容为:
int main()
{
int a, b;
scanf(“%d%d”, &a, &b);
printf(“%d %d\n”, a, b);
return 0;
}
(6) 编写一个段落,内容为:春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。,第一句话用斜体(包括句末标点),第二句话加粗(包括句末标点),第三句话加删除线(包括句末标点),第四句话加下划线(包括句末标点)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h2>春江花月夜</h2>
<h5>张若虚</h5>
<p>
春江潮水连海平,海上明月共潮生。<br>
滟滟随波千万里,何处春江无月明!<br>
江流宛转绕芳甸,月照花林皆似霰;<br>
空里流霜不觉飞,汀上白沙看不见。<br>
江天一色无纤尘,皎皎空中孤月轮。<br>
江畔何人初见月?江月何年初照人?<br>
人生代代无穷已,江月年年望相似。
</p>
<hr>
<pre>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%d %d\n", a, b);
return 0;
}
</pre>
<p>
<i>春眠不觉晓,</i>
<b>处处闻啼鸟。</b>
<del>夜来风雨声,</del>
<ins>花落知多少。</ins>
</p>
</body>
</html>
homework1.3
要求
页面里包含一张图片,各个属性值为:
src为:/images/mountain.jpg。
alt为:山。
width为:600
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<img width="600" src="/images/mountain.jpg" alt="山">
</body>
</html>
homework1.4
页面中包含一个音频和一个视频。
音频格式:
具有属性controls。
src为:/audios/bgm.mp3。
视频格式:
具有属性controls。
src为:/videos/video2.mp4。
width为:600。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<audio controls src="/audios/bgm.mp3"></audio>
<video width="600" controls src="/videos/video2.mp4"></video>
</body>
</html>
homework1.5
页面从上到下的内容依次为:
一个超链接,内容为:About,跳转到/about.html,在当前页面中加载。
一个超链接,内容为一张图片,图片地址:/images/logo.png,宽度为50px,alt为logo,跳转到:https://www.acwing.com,在新窗口中打开。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<a href="/about.html">About</a>
<a href="https://www.acwing.com" target="_blank">
<img width="50" src="/images/logo.png" alt="logo">
</a>
</body>
</html>
homework1.6
页面中包含一个表单,表单的action为/login.html,表单中的内容从前到后依次为:
一个text类型的input标签。
name为:username
id为:username
具有required属性
minlength为:3
maxlength为:15
placeholder为:用户名
label的文本为:用户名
一个number类型的input标签。
name为:age
id为:age
具有required属性
placeholder为:年龄
label的文本为:年龄
一个email类型的input标签
name为:email
id为:email
具有required属性
placeholder为:邮箱
label的文本为:邮箱
一个password类型的input标签
name为:password
id为:password
具有required属性
placeholder为:密码
label的文本为:密码
一个textarea标签
name为:resume
id为:resume
没有required标签
placeholder为:个人简介
label的文本为:个人简介
一个select标签
name为:lang
id为:lang
label的文本为:语言
第一个option:value为Cpp,文本为:Cpp
第二个option:value为Java,文本为:Java
第三个option:value为Python,文本为:Python
一个按钮
type为submit
文本为:提交
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="/login.html">
<label for="username">用户名</label>
<input type="text" name="username" id="username" required minlength="3" maxlength="15" placeholder="用户名">
<label for="age">年龄</label>
<input type="number" name="age" id="age" required placeholder="年龄">
<label for="email">邮箱</label>
<input type="email" name="email" id="email" required placeholder="邮箱">
<label for="password">密码</label>
<input type="password" name="password" id="password" required placeholder="密码">
<label for="resume">个人简介</label>
<textarea name="resume" id="resume" cols="30" rows="10" placeholder="个人简介"></textarea>
<label for="lang">语言</label>
<select name="lang" id="lang">
<option value="Cpp">Cpp</option>
<option value="Java">Java</option>
<option value="Python">Python</option>
</select>
<button type="submit">提交</button>
</form>
</body>
</html>
homework1.7
页面中包含一个有序列表:
列表第一项只包含一个文本,内容为:第一讲
列表第二项包含:
一个文本,内容为:第二讲
一个无序列表,包含3项,均为文本,内容分别为:第一小节、第二小节、第三小节。
列表第三项包含:
一个文本,内容为:第三讲
一个有序列表,包含3项,均为文本,内容分别为:第一小节、第二小节、第三小节。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<ol>
<li>第一讲</li>
<li>
第二讲
<ul>
<li>第一小节</li>
<li>第二小节</li>
<li>第三小节</li>
</ul>
</li>
<li>
第三讲
<ol>
<li>第一小节</li>
<li>第二小节</li>
<li>第三小节</li>
</ol>
</li>
</ol>
</body>
</html>
homework1.8
编写一个完整的 HTML 页面。
页面中包含一个表格,要求:
表格的标题为:成绩单
表格的内容为:
姓名 数学 语文 英语
Alice 100 99 98
Bob 99 98 97
Tom 98 97 96
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table>
<caption>成绩单</caption>
<thead>
<tr>
<th>姓名</th>
<th>数学</th>
<th>语文</th>
<th>英语</th>
</tr>
</thead>
<tbody>
<tr>
<td>Alice</td>
<td>100</td>
<td>99</td>
<td>98</td>
</tr>
<tr>
<td>Bob</td>
<td>99</td>
<td>98</td>
<td>97</td>
</tr>
<tr>
<td>Tom</td>
<td>98</td>
<td>97</td>
<td>96</td>
</tr>
</tbody>
</table>
</body>
</html>
homework1.9
内容包括四个部分:
header区:
包含<h3>标题,内容为:我的收藏夹
section区,从上到下依次为:
包含<h4>标题,内容为:图片
第一个<figure>,包含一个<img>,src为/images/logo.png,宽度为100px,<figcaption>的文本为:logo
第二个<figure>,包含一个<img>,src为/images/mountain.jpg,宽度为100px,<figcaption>的文本为:山
section区,从上到下依次为:
包含<h4>标题,内容为:古诗
第一个<article>,包含一个<h5>标题,内容为:春晓,之后包含一个段落,内容为:春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。
第二个<article>,包含一个<h5>标题,内容为:咏柳,之后包含一个段落,内容为:碧玉妆成一树高,万条垂下绿丝绦。不知细叶谁裁出,二月春风似剪刀。
footer区
包含一行文本:©2018-2022 Me 版权所有
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<header>
<h3>我的收藏夹</h3>
</header>
<section>
<h4>图片</h4>
<figure>
<img width="100" src="/images/logo.png" alt="logo">
<figcaption>logo</figcaption>
</figure>
<figure>
<img width="100" src="/images/mountain.jpg" alt="山">
<figcaption>山</figcaption>
</figure>
</section>
<section>
<h4>古诗</h4>
<article>
<h5>春晓</h5>
<p>
春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。
</p>
</article>
<article>
<h5>咏柳</h5>
<p>
碧玉妆成一树高,万条垂下绿丝绦。不知细叶谁裁出,二月春风似剪刀。
</p>
</article>
</section>
<footer>
©2018-2022 Me 版权所有
</footer>
</body>
</html>
homework1.10
页面中包含一行如下内容:
©[HTML_REMOVED]版权所有
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
©<Web>版权所有
</body>
</html>
homework2
homework2.1
编写一个完整的HTML页面,标签内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="small-div">1</div>
<div id="big-div">2</div>
<div>3</div>
<div class="small-div">4</div>
<div class="small-div hover-div">5</div>
<div>6</div>
<div>7</div>
<div class="hover-div">8</div>
<div>9</div>
<div>10</div>
</body>
</html>
要求
所有div标签的字体颜色设置为white,宽度和高度均设置为300px。
从前往后数,第奇数个div的背景颜色设置为:#0000FF。
从前往后数,第偶数个div的背景颜色设置为:rgba(255, 0, 0, 0.7)。
所有包含small-div类的div的宽度和高度均设置为200px。
id为big-div的div的宽度和高度均设置为400px。
对于所有包含hover-div类的div,当鼠标悬浮时,背景颜色变成orange。
[HTML_REMOVED]
[HTML_REMOVED]
[HTML_REMOVED]
[HTML_REMOVED]
[HTML_REMOVED]
[HTML_REMOVED]Document[HTML_REMOVED]
[HTML_REMOVED]
[HTML_REMOVED]
div {
color: white;
width: 300px;
height: 300px;
}
div:nth-child(odd) {
background-color: #0000FF;
}
div:nth-child(even) {
background-color: rgba(255, 0, 0, 0.7);
}
.small-div {
width: 200px;
height: 200px;
}
#big-div {
width: 400px;
height: 400px;
}
.hover-div:hover {
background-color: orange;
}
</style>
[HTML_REMOVED]
[HTML_REMOVED]
[HTML_REMOVED]1[HTML_REMOVED]
[HTML_REMOVED]2[HTML_REMOVED]
[HTML_REMOVED]3[HTML_REMOVED]
[HTML_REMOVED]4[HTML_REMOVED]
[HTML_REMOVED]5[HTML_REMOVED]
[HTML_REMOVED]6[HTML_REMOVED]
[HTML_REMOVED]7[HTML_REMOVED]
[HTML_REMOVED]8[HTML_REMOVED]
[HTML_REMOVED]9[HTML_REMOVED]
[HTML_REMOVED]10[HTML_REMOVED]
[HTML_REMOVED]
[HTML_REMOVED]
homework2.2
编写一个完整的HTML页面,标签内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h2>春</h2>
<p>盼望着,盼望着,东风来了,春天的脚步近了。</p>
<p class="shadow-p">一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。</p>
<p class="fantasy-p">小草偷偷地从土里钻出来,嫩嫩的,绿绿的。园子里,田野里,瞧去,一大片一大片满是的。坐着,躺着,打两个滚,踢几脚球,赛几趟跑,捉几回迷藏。风轻悄悄的,草软绵绵的。</p>
<p>桃树、杏树、梨树,你不让我,我不让你,都开满了花赶趟儿。红的像火,粉的像霞,白的像雪。花里带着甜味儿;闭了眼,树上仿佛已经满是桃儿、杏儿、梨儿。花下成千成百的蜜蜂嗡嗡地闹着,大小的蝴蝶飞来飞去。野花遍地是:杂样儿,有名字的,没名字的,散在草丛里,像眼睛,像星星,还眨呀眨的。
</p>
<p class="beautiful-p">
“吹面不寒杨柳风”,不错的,像母亲的手抚摸着你。风里带来些新翻的泥土的气息,混着青草味儿,还有各种花的香,都在微微润湿的空气里酝酿。鸟儿将窠巢安在繁花嫩叶当中,高兴起来了,呼朋引伴地卖弄清脆的喉咙,唱出宛转的曲子,与轻风流水应和着。牛背上牧童的短笛,这时候也成天在嘹亮地响。
</p>
<p class="bold-p italic-p">
雨是最寻常的,一下就是三两天。可别恼。看,像牛毛,像花针,像细丝,密密地斜织着,人家屋顶上全笼着一层薄烟。树叶子却绿得发亮,小草也青得逼你的眼。傍晚时候,上灯了,一点点黄晕的光,烘托出一片安静而和平的夜。乡下去,小路上,石桥边,有撑起伞慢慢走着的人;还有地里工作的农夫,披着蓑,戴着笠的。他们的草屋,稀稀疏疏的,在雨里静默着。
</p>
<p>天上风筝渐渐多了,地上孩子也多了。城里乡下,家家户户,老老小小,他们也赶趟儿似的,一个个都出来了。舒活舒活筋骨,抖擞抖擞精神,各做各的一份事去。“一年之计在于春”,刚起头儿,有的是工夫,有的是希望。</p>
<p class="beautiful-p">春天像刚落地的娃娃,从头到脚都是新的,他生长着。</p>
<p>春天像小姑娘,花枝招展的,笑着,走着。</p>
<p class="shadow-p">春天像健壮的青年,有铁一般的胳膊和腰脚,他领着我们上前去。</p>
</body>
</html>
要求
h2标签的文本居中。
所有p标签的行高设置为1.5em,字间距设置为1px,段首缩进设置为2倍字体大小。
为所有包含beautiful-p类的标签设置下划线,样式为:underline wavy green。
为所有包含shadow-p类的标签设置字体阴影,样式为:5px 5px 5px grey。
每个p标签的首字母的字体大小更改为1.2em,字体颜色设置为red。
为所有包含bold-p类的标签设置字体粗细,权值为800。
为所有包含italic-p类的标签设置字体斜体。
为所有包含fantasy-p类的标签设置字体为:monospace(等宽字体)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- <link rel="stylesheet" href="static/css/style.css"> -->
<style>
h2 {
text-align: center;
}
p {
/*em 相对于当前元素的字体大小 */
line-height: 1.5em;
/*letter-spacing 属性用于设置文本字符的间距。 */
letter-spacing: 1px;
/* text-indent属性能定义一个块元素首行文本内容之前的缩进量。 */
text-indent: 2em;
}
.beautiful-p {
/* text-decoration 这个 CSS 属性是用于设置文本的修饰线外观的(下划线、上划线、贯穿线/删除线 或 闪烁) */
text-decoration: underline wavy green;
}
.shadow-p {
/* text-shadow 每个阴影值由元素在X和Y方向的偏移量、模糊半径和颜色值组成。*/
text-shadow: 5px 5px 5px grey;
}
p::first-letter {
/* font-size CSS 属性指定字体的大小。因为该属性的值会被用于计算em和ex长度单位 */
font-size: 1.2em;
color: red;
}
.bold-p {
/* font-weight CSS 属性指定了字体的粗细程度。 一些字体只提供 normal 和 bold 两种值。 */
font-weight: 800;
}
.italic-p {
/* font-style CSS 属性允许你选择 font-family 字体下的 italic 或 oblique 样式 */
font-style: italic;
}
.fantasy-p {
/* 等宽字体 */
font-family: monospace;
}
</style>
</head>
<body>
<h2>春</h2>
<p>盼望着,盼望着,东风来了,春天的脚步近了。</p>
<p class="shadow-p">一切都像刚睡醒的样子,欣欣然张开了眼。山朗润起来了,水涨起来了,太阳的脸红起来了。</p>
<p class="fantasy-p">小草偷偷地从土里钻出来,嫩嫩的,绿绿的。园子里,田野里,瞧去,一大片一大片满是的。坐着,躺着,打两个滚,踢几脚球,赛几趟跑,捉几回迷藏。风轻悄悄的,草软绵绵的。</p>
<p>桃树、杏树、梨树,你不让我,我不让你,都开满了花赶趟儿。红的像火,粉的像霞,白的像雪。花里带着甜味儿;闭了眼,树上仿佛已经满是桃儿、杏儿、梨儿。花下成千成百的蜜蜂嗡嗡地闹着,大小的蝴蝶飞来飞去。野花遍地是:杂样儿,有名字的,没名字的,散在草丛里,像眼睛,像星星,还眨呀眨的。
</p>
<p class="beautiful-p">
“吹面不寒杨柳风”,不错的,像母亲的手抚摸着你。风里带来些新翻的泥土的气息,混着青草味儿,还有各种花的香,都在微微润湿的空气里酝酿。鸟儿将窠巢安在繁花嫩叶当中,高兴起来了,呼朋引伴地卖弄清脆的喉咙,唱出宛转的曲子,与轻风流水应和着。牛背上牧童的短笛,这时候也成天在嘹亮地响。
</p>
<p class="bold-p italic-p">
雨是最寻常的,一下就是三两天。可别恼。看,像牛毛,像花针,像细丝,密密地斜织着,人家屋顶上全笼着一层薄烟。树叶子却绿得发亮,小草也青得逼你的眼。傍晚时候,上灯了,一点点黄晕的光,烘托出一片安静而和平的夜。乡下去,小路上,石桥边,有撑起伞慢慢走着的人;还有地里工作的农夫,披着蓑,戴着笠的。他们的草屋,稀稀疏疏的,在雨里静默着。
</p>
<p>天上风筝渐渐多了,地上孩子也多了。城里乡下,家家户户,老老小小,他们也赶趟儿似的,一个个都出来了。舒活舒活筋骨,抖擞抖擞精神,各做各的一份事去。“一年之计在于春”,刚起头儿,有的是工夫,有的是希望。</p>
<p class="beautiful-p">春天像刚落地的娃娃,从头到脚都是新的,他生长着。</p>
<p>春天像小姑娘,花枝招展的,笑着,走着。</p>
<p class="shadow-p">春天像健壮的青年,有铁一般的胳膊和腰脚,他领着我们上前去。</p>
</body>
</html>
homework2.3
编写一个完整的HTML页面,标签内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
要求
所有div标签的宽度和高度均设置为300px,外边距设置为10px。
第一个div的背景颜色设置为lightblue。
第二个div的背景图片设置为url('/static/images/mountain.jpg'),背景图片大小设置为100% 100%,背景图片不重复。
第三个div的背景图片设置为url('/static/images/mountain.jpg'), url('/static/images/logo.png'),背景图片大小设置为50% 100%, 50% 100%,两张背景图片均不重复,两张背景图片的位置设置为top left, 150px 0。
第四个div的背景图片设置为url('/static/images/mountain.jpg'),背景图片大小设置为100% 100%,背景图片不重复,背景图片的位置在视口内固定。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 300px;
height: 300px;
margin: 10px;
}
div:nth-child(1) {
background-color: lightblue;
}
div:nth-child(2) {
/* background-image 属性用于为一个元素设置一个或者多个背景图像。 */
background-image: url('/static/images/mountain.jpg');
background-size: 100% 100%;
/* background-repeat CSS 属性定义背景图像的重复方式。
背景图像可以沿着水平轴,垂直轴,两个轴重复,或者根本不重复。 */
background-repeat: no-repeat;
}
div:nth-child(3) {
background-image: url('/static/images/mountain.jpg'), url('/static/images/logo.png');
background-size: 50% 100%, 50% 100%;
background-repeat: no-repeat, no-repeat;
/* background-position 为背景图片设置初始位置。 */
background-position: top left, 150px 0;
}
div:nth-child(4) {
background-image: url('/static/images/mountain.jpg');
background-size: 100% 100%;
background-repeat: no-repeat;
/* background-attachment CSS 属性
决定背景图像的位置是在视口内固定,或者随着包含它的区块滚动。 */
background-attachment: fixed;
}
</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
homework2.4
编写一个完整的HTML页面,标签内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div></div>
<div></div>
</body>
</html>
要求
所有div标签的宽度和高度均设置为300px。
第一个div满足:
四条边的宽度为10px;
上右下左四条边的样式依次为:solid dotted inset dashed;
上下两条边的颜色为blue,左右两条边的颜色为red;
外边框圆角半径为50%;
第二个div满足:
四条边的样式为:solid 3px black;
外边框圆角半径为10px;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- <link rel="stylesheet" href="static/css/style.css"> -->
<style>
div {
width: 300px;
height: 300px;
/* background-color: lightblue; */
}
div:nth-child(1) {
border-width: 10px;
/* border-style 是一个 CSS 简写属性,用来设定元素所有边框的样式 */
border-style: solid dotted inset dashed;
/* border-color 是一个用于设置元素四个边框颜色的快捷属性:
border-top-color, border-right-color, border-bottom-color, border-left-color */
border-top-color: blue;
border-bottom-color: blue;
border-left-color: red;
border-right-color: red;
/* border-radius 允许你设置元素的外边框圆角。 */
border-radius: 50%;
}
div:nth-child(2) {
border: solid 3px black;
border-radius: 10px;
}
</style>
</head>
<body>
<div></div>
<div></div>
</body>
</html>
homework2.5
编写一个完整的HTML页面,标签内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="container">
<div class="inline-block-div">div-1</div>
<div class="inline-block-div">div-2</div>
<div class="inline-block-div">div-3</div>
<br>
<span>span-1</span>
<span>span-2</span>
<span>span-3</span>
<br>
<div class="block-div">
123456789101112
</div>
</div>
</body>
</html>
要求
包含container类的标签满足:
display属性为block;
宽度和高度均为500px;
内边距为10px;
外边距为20px;
背景颜色为lightblue;
包含inline-block-div类的标签满足;
display属性为inline-block;
宽度和高度均为100px;
内边距为10px;
外边距为10px;
背景颜色为blue;
字体颜色为white;
所有span满足:
display属性为inline;
左右内边距为10px;
左右外边距为20px;
背景颜色为bisque;
字体颜色为green;
包含block-div类的标签满足;
display属性为block;
宽度和高度均为100px;
内边距与外边距均为10px;
背景颜色为blue;
字体颜色为white;
overflow属性为hidden;
text-overflow属性为ellipsis;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- <link rel="stylesheet" href="static/css/style.css"> -->
<style>
.container {
display: block;
width: 500px;
height: 500px;
padding: 10px;
margin: 20px;
background-color: lightblue;
}
.inline-block-div {
display: inline-block;
width: 100px;
height: 100px;
padding: 10px;
margin: 10px;
background-color: blue;
color: white;
}
span {
display: inline;
/*
如果是inline的话,只能设置左右内/外边距,不能设置上下内/外边距
padding-left: 10px;
padding-right: 10px;
*/
padding: 0 10px 0 10px;
/*
margin-left: 20px;
margin-right: 20px;
*/
margin: 0 20px 0 20px;
background-color: bisque;
color: green;
}
.block-div {
display: block;
width: 100px;
height: 100px;
padding: 10px;
margin: 10px;
background-color: blue;
color: white;
/* overflow 定义当一个元素的内容太大而无法适应
块级格式化上下文 时候该做什么。它是 overflow-x 和overflow-y的 简写属性 */
overflow: hidden;
/* text-overflow CSS 属性确定如何向用户发出未显示的溢出内容信号。
它可以被剪切,显示一个省略号或显示一个自定义字符串。 */
text-overflow: ellipsis;
}
</style>
</head>
<body>
<div class="container">
<div class="inline-block-div">div-1</div>
<div class="inline-block-div">div-2</div>
<div class="inline-block-div">div-3</div>
<br>
<span>span-1</span>
<span>span-2</span>
<span>span-3</span>
<br>
<div class="block-div">
123456789101112
</div>
</div>
</body>
</html>
homework2.6
编写一个完整的HTML页面,标签内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>文本1</div>
<div>文本2</div>
</body>
</html>
要求
所有div标签满足:
宽度和高度均为100px;
背景颜色为lightsalmon;
第一个div满足:
上右下左外边距依次为:10px 20px 30px 40px;
上右下左内边距依次为:10px 20px 30px 40px;
第二个div在父标签内水平居中,外边距设置为:0 auto。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 100px;
height: 100px;
background-color: lightsalmon;
}
div:nth-child(1) {
margin: 10px 20px 30px 40px;
padding: 10px 20px 30px 40px;
}
div:nth-child(2) {
/* position属性用于指定一个元素在文档中的定位方式。
absolute:元素会被移出正常文档流,并不为元素预留空间,
通过指定元素相对于最近的非 static 定位祖先元素的偏移,来确定元素位置。
绝对定位的元素可以设置外边距(margins),且不会与其他边距合并。 */
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
margin: 0 auto; /*使用这种方式可以水平居中*/
}
</style>
</head>
<body>
<div>文本1</div>
<div>文本2</div>
</body>
</html>
homework2.7
编写一个完整的HTML页面,标签内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>1</div>
<div>2</div>
</body>
</html>
要求
所有div标签满足:
宽度和高度均为300px;
内边距与外边距均为10px;
背景颜色为lightblue;
边框样式为solid 10px gray;
第一个div为内容盒子模型。
第二个div为边框盒子模型。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 300px;
height: 300px;
padding: 10px;
margin: 10px;
background-color: lightblue;
/* border 属性是一个用于设置各种单独的边界属性的简写属性。
border 可以用于设置一个或多个以下属性的值:
border-width、border-style、border-color。
*/
/* border: solid 10px gray; 这1行等于下面3行*/
border-style: solid;
border-width: 10px;
border-color: grey;
}
/* 不加这个也是对的,因为content-box是默认值
div:nth-child(1) {
content-box:是默认值,设置border和padding均会增加元素的宽高。
box-sizing: content-box;
}
*/
div:nth-child(2) {
/* border-box:设置border和padding不会改变元素的宽高,而是挤占内容区域。 */
box-sizing: border-box;
}
</style>
</head>
<body>
<div>1</div>
<div>2</div>
</body>
</html>
homework2.8
编写一个完整的HTML页面,标签内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
</body>
</html>
要求
body的高度设为2000px,外边距设为0。
所有div标签的样式设置为:
宽度与高度均为200px;
背景颜色设置为lightblue;
外边距设置为20px;
第一个div的position属性为static。
第二个div的样式设置为:
position的值为relative;
left的值为50px;
top的值为15px;
第三个div的样式设置为:
position的值为absolute;
背景颜色为rgba(0, 0, 255, 0.5);
left的值为30px;
top的值为30px;
第四个div的样式设置为:
position的值为fixed;
背景颜色为rgba(0, 255, 0, 0.5);
left的值为100px;
top的值为250px;
第十个div的样式为:
position的值为sticky;
背景颜色为rgba(255, 0, 0, 0.5);
bottom的值为10px;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body {
height: 2000px;
margin: 0;
}
div {
width: 200px;
height: 200px;
background-color: lightblue;
margin: 20px;
}
div:nth-child(1) {
/* position属性用于指定一个元素在文档中的定位方式。 */
/* static:该关键字指定元素使用正常的布局行为,
即元素在文档常规流中当前的布局位置。此时 top, right, bottom, left 和 z-index 属性无效。 */
position: static; /*position默认值就是static 就是按照正常顺序渲染*/
}
div:nth-child(2) {
/* relative:该关键字下,元素先放置在未添加定位时的位置,
再在不改变页面布局的前提下调整元素位置(因此会在此元素未添加定位时所在位置留下空白)。
top, right, bottom, left等调整元素相对于初始位置的偏移量。 */
position: relative; /*相对于正常位置偏移*/
left: 50px;
top: 15px; /*距离左边是59,距离下面是15px*/
}
div:nth-child(3) {
/* absolute:元素会被移出正常文档流,并不为元素预留空间,
通过指定元素相对于最近的非 static 定位祖先元素的偏移,
来确定元素位置。绝对定位的元素可以设置外边距(margins),且不会与其他边距合并。 */
position: absolute; /*absolute是相对于整个页面的位置*/
background-color: rgba(0, 0, 255, 0.5);
left: 30px; /*因为上面设置的position是absolute所以这里是相对于整个页面而言*/
top: 30px;
}
div:nth-child(4) {
/* fixed:元素会被移出正常文档流,并不为元素预留空间,
而是通过指定元素相对于屏幕视口(viewport)的位置来指定元素位置。元素的位置在屏幕滚动时不会改变。 */
position: fixed; /*absolute是相对于整个页面,而fixed是相对于整个屏幕,
不管页面怎么动,div相对于屏幕不动,表现出会浮于页面之上
另外这里可以看出来absolute和fixed会把原有的位置空出来,而relative不会空出来*/
background-color: rgba(0, 255, 0, 0.5);
left: 100px;
top: 250px;
}
div:nth-child(10) {
/* sticky:元素根据正常文档流进行定位,
然后相对它的最近滚动祖先nearest scrolling ancestor)
和 containing block (最近块级祖先 nearest block-level ancestor),
包括table-related元素,基于top, right, bottom, 和 left的值进行偏移。
偏移值不会影响任何其他元素的位置。 */
position: sticky; /*移出屏幕之前类似于是static,将要移除屏幕会变成fixed*/
background-color: rgba(255, 0, 0, 0.5);
bottom: 10px;
}
*/
</style>
</head>
<body>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
</body>
</html>
homework2.9
编写一个完整的HTML页面,标签内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="next-line"></div>
</div>
</body>
</html>
要求
包含container类的标签满足:
宽度与高度均为500px;
背景颜色为lightblue;
包含item类的标签满足:
宽度和高度均为100px;
外边距为10px;
背景颜色为lightcoral;
float属性的值为left;
包含next-line类的标签满足:
宽度和高度均为150px;
背景颜色为rgba(0, 0, 255, 0.5);
必须移动到之前的浮动元素的下面(使用clear属性);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.container {
width: 500px;
height: 500px;
background-color: lightblue;
}
.item {
width: 100px;
height: 100px;
margin: 10px;
background-color: lightcoral;
float: left;
}
.next-line {
width: 150px;
height: 150px;
background-color: rgba(0, 0, 255, 0.5);
/* 有时,你可能想要强制元素移至任何浮动元素下方。
比如说,你可能希望某个段落与浮动元素保持相邻的位置,
但又希望这个段落从头开始强制独占一行。此时可以使用clear。 */
clear: left; /*如果这里不用clear,这里的div就会位于浮动float的div的底下,浮动的会覆盖到当前的div*/
/* left:清除左侧浮动。
right:清除右侧浮动。 */
}
</style>
</head>
<body>
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="next-line"></div>
</div>
</body>
</html>
homework2.10
编写一个HTML页面,标签内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
</body>
</html>
要求
所有包含container类的标签满足:
display属性为flex;
宽度为50%;
高度为500px;
背景颜色为lightblue;
外边距为10px;
所有container类标签的子标签满足:
宽度与高度均为120px;
所有container类标签的第奇数个子元素满足:
背景颜色为:lightsalmon;
所有container类标签的第偶数个子元素满足:
背景颜色为lightgreen;
第一个container类标签满足:
flex-wrap属性为wrap;
justify-content属性为space-between;
align-content属性为flex-start;
第二个container类标签满足:
flex-direction属性为row-reverse;
flex-wrap属性为nowrap;
第二个container类标签的所有第奇数个子标签满足:
flex-grow属性为3;
flex-shrink属性为3;
第二个container类标签的所有第偶数个子标签满足:
flex-grow属性为1;
flex-shrink属性为1;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.container {
display: flex;
width: 50%;
height: 500px;
background-color: lightblue;
margin: 10px;
}
.container>div {
width: 120px;
height: 120px;
}
.container>div:nth-child(odd) {
background-color: lightsalmon;
}
.container>div:nth-child(even) {
background-color: lightgreen;
}
.container:nth-child(1) {
/* flex-wrap 属性指定 flex 元素单行显示还是多行显示。
如果允许换行,这个属性允许你控制行的堆叠方向。
nowrap:默认值。不换行。
wrap:换行,第一行在上方。
wrap-reverse:换行,第一行在下方。 */
flex-wrap: wrap;
/* justify-content 属性定义了浏览器之间,
如何分配顺着弹性容器主轴(或者网格行轴) 的元素之间及其周围的空间。
flex-start:默认值。左对齐。
flex-end:右对齐。
space-between:左右两段对齐。 */
justify-content: space-between;
/* align-content 属性设置了浏览器如何沿着弹性盒子布局的纵轴和网格布局的主轴在内容项之间和周围分配空间。
flex-start:所有行从垂直轴起点开始填充。
第一行的垂直轴起点边和容器的垂直轴起点边对齐。接下来的每一行紧跟前一行。
flex-end:所有行从垂直轴末尾开始填充。最后一行的垂直轴终点和容器的垂直轴终点对齐。同时所有后续行与前一个对齐。
center:所有行朝向容器的中心填充。每行互相紧挨,相对于容器居中对齐。
容器的垂直轴起点边和第一行的距离相等于容器的垂直轴终点边和最后一行的距离。
stretch:拉伸所有行来填满剩余空间。剩余空间平均地分配给每一行。*/
align-content: flex-start;
}
.container:nth-child(2) {
/* flex-direction 属性指定了内部元素是如何在 flex 容器中布局的,定义了主轴的方向(正方向或反方向)。
row-reverse:表现和row相同,但是置换了主轴起点和主轴终点。*/
flex-direction: row-reverse;
flex-wrap: nowrap;
}
.container:nth-child(2)>div:nth-child(2n-1) {
/* flex-grow CSS 设置 flex 项主尺寸 的 flex 增长系数。负值无效,默认为 0。 */
/* flex-grow: 3; */
/* flex-shrink 属性指定了 flex 元素的收缩规则。
flex 元素仅在默认宽度之和大于容器的时候才会发生收缩,
其收缩的大小是依据 flex-shrink 的值。 */
/* flex-shrink: 3; */
/* 这一行等于上面两行 */
flex: 3 3 auto;
}
.container:nth-child(2)>div:nth-child(2n) {
/* flex-grow: 1;
flex-shrink: 1; */
/* 这一行等于上面两行 */
flex: 1 1 auto;
}
</style>
</head>
<body>
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
</body>
</html>