feat: 添加项目

main
bicijinlian 2 years ago
parent c540d30fcd
commit 07a7b685a0

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>

@ -0,0 +1,18 @@
namespace H5Study.WebApp
{
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.UseDefaultFiles();
app.UseStaticFiles();
app.MapGet("/", () => "Hello World!");
app.Run();
}
}
}

@ -0,0 +1,29 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:42979",
"sslPort": 0
}
},
"profiles": {
"WebApp": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:5155",
"launchUrl": "Index.html",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="zn-CH">
<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>CSS 学习</title>
<style>
.container {
}
</style>
</head>
<body>
<div class="container">
</div>
</body>
</html>

@ -0,0 +1,12 @@
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false

@ -0,0 +1,67 @@
<!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>垂直剧中</title>
<style>
.outer{
/* width: 850px; */
/* height: 800px; */
background-color: purple;
text-align: center;
/* vertical-align: middle; */
/* box-sizing: border-box; */
/* padding: 10px; */
display: flex;
flex-wrap: wrap;
}
.inner{
width: 50px;
/* height: 50px; */
/* margin: 10px; */
background-color: cadetblue;
/* line-height: 50px; */
/* box-sizing: border-box; */
/* flex-grow: 1; */
}
.inner1 {
/* height: 80px; */
}
.inner2 {
/* height: 80px; */
}
.inner3 {
/* height: 80px; */
}
.inner4 {
/* height: 80px; */
}
.inner5 {
/* height: 80px; */
}
.inner6 {
/* height: 80px; */
}
.inner7 {
/* height: 80px; */
}
</style>
</head>
<body>
<div class="outer">
<div class="inner inner1">1</div>
<div class="inner inner2">2</div>
<div class="inner inner3">3</div>
<div class="inner inner4">4</div>
<div class="inner inner5">5</div>
<div class="inner inner6">6</div>
<div class="inner inner7">7</div>
</div>
</body>
</html>

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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">
<link rel="stylesheet" href="./css/box.css">
<title>垂直居中-宽高已知-设置行高与高度相等</title>
<style>
.outer {
height: 350px;
background-color: purple;
margin: 10px;
text-align: center;
}
.inner {
height: 300px;
line-height: 300px;
background-color: skyblue;
border: 1px solid seagreen;
margin: 0 auto;
padding: 5px;
}
</style>
</head>
<body>
<!-- 信息框:解说 -->
<div class="default-info ">
<div class="default-info-item default-info-header">
垂直居中-宽高已知-设置行高与高度相等
</div>
<div class="default-info-item default-info-body">
<p>垂直居中:设置行高与高度相等</p>
<p>只适用于单行文本</p>
</div>
<div class="default-info-item default-info-footer">
注意:行高要去掉 "边框与内边距", 如果存在的话
</div>
</div>
<div class="outer">
<span class="inner">
垂直与水平居中
</span>
</div>
</body>
</html>

@ -0,0 +1,159 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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">
<link rel="stylesheet" href="./css/box.css">
<title>垂直居中-目录</title>
<style>
ul li {
list-style: none;
margin: 5px;
padding: 10px;
}
ul li {
font-size: 20px;
border: 1px solid rebeccapurple;
border-radius: 5px;
}
.outer {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
align-content: center;
}
</style>
</head>
<body>
<!-- 信息框:解说 -->
<div class="default-info ">
<div class="default-info-item default-info-header">
垂直居中方法-目录
</div>
<div class="default-info-item default-info-body">
<ul class="outer">
<li>
<a href="https://blog.csdn.net/Ed7zgeE9X/article/details/123143498" target="_blank">11种垂直居中方法</a>
</li>
<li>
<a href="./01.宽高已知.单行居中.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="#" target="_blank">宽高已知-单行</a>
</li>
</ul>
</div>
<div class="default-info-item default-info-footer">
目录
</div>
</div>
</body>
</html>

@ -0,0 +1,47 @@
<!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>信息框</title>
<link rel="stylesheet" href="./css/box.css">
</head>
<body>
<div class="info-box">
<div class="info-box-item info-box-header">
信息框标题
</div>
<div class="info-box-item info-box-body">
信息框内容
</div>
<div class="info-box-item info-box-footer">
信息框页脚
</div>
</div>
<div class="msg">
<div class="msg-item msg-header">
信息框标题
</div>
<div class="msg-item msg-body">
信息框内容
</div>
<div class="msg-item msg-footer">
信息框页脚
</div>
</div>
<div class="default-info">
<div class="default-info-item default-info-header">
信息框标题
</div>
<div class="default-info-item default-info-body">
信息框内容
</div>
<div class="default-info-item default-info-footer">
信息框页脚
</div>
</div>
</body>
</html>

@ -0,0 +1,165 @@
/* 信息框样式 */
/* #region 实现方式一 */
/* 实现方式一:外层无边框等设置,框形由 "内上的左、上、右边框"、"内中的左与右边框"及 "内下的左、右、下边框" 组成 */
.info-box {
--info-box-main-color:#6f42c1;
--info-box-text-color:#ffffff;
--info-box-body-bgcolor:#afa1c9;
--info-box-footer-bgcolor:#a78adc;
margin: 10px;
padding: 0;
font-size: 16px;
font-weight: bold;
color: var(--info-box-text-color);
}
.info-box .info-box-item {
box-sizing: border-box;
padding: 10px;
}
.info-box .info-box-header {
height: 50px;
line-height: 28px;
background-color: var(--info-box-main-color);
border-top: 2px solid var(--info-box-main-color);
border-left: 2px solid var(--info-box-main-color);
border-right: 2px solid var(--info-box-main-color);
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.info-box .info-box-body {
min-height: 200px;;
background-color: var(--info-box-body-bgcolor);
border-left: 2px solid var(--info-box-main-color);
border-right: 2px solid var(--info-box-main-color);
}
.info-box .info-box-footer {
height: 40px;
line-height: 18px;
background-color: var(--info-box-footer-bgcolor);
border-bottom: 2px solid var(--info-box-main-color);
border-left: 2px solid var(--info-box-main-color);
border-right: 2px solid var(--info-box-main-color);
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
/* #endregion */
/* #region 实现方式二 */
/* 实现方式二:框形由 外层边框形成,内上、内中、内下配合各相应角的形状 */
.msg {
--msg-text-color:#ffffff;
--msg-main-color: green;
--msg-body-bgcolor:rgba(154, 176, 154, 0.726);
--msg-footer-bgcolor: rgb(98, 145, 98);
margin: 10px;
padding: 0;
/* 外层必须背景颜色且与连框颜色相同,否则四角稍内会有月牙形"漏洞" */
background-color: var(--msg-main-color);
border: 2px solid var(--msg-main-color);
border-radius: 10px;
}
.msg .msg-item {
color: var(--msg-text-color);
font-weight: bold;
padding-left: 10px;
padding-right: 10px;
box-sizing: border-box;
}
.msg .msg-header {
height: 50px;
line-height: 48px;
background-color: var(--msg-main-color);
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom: 2px solid var(--msg-main-color);
}
.msg .msg-body {
height: 200px;
background-color: var(--msg-body-bgcolor);
padding: 10px;
}
.msg .msg-footer {
height: 39px;
line-height: 38px;
background-color: var(--msg-footer-bgcolor);
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
/* #endregion */
/* #region 默认信息框 */
/* 默认信息框:基于"实现方式二" */
.default-info {
--default-info-text-color:#000000;
--default-info-main-color: rgb(206, 212, 218);
--default-info-body-bgcolor:rgb(248, 249, 250);
--default-info-footer-bgcolor: rgb(233, 236, 239);
margin: 10px;
padding: 0;
/* 外层必须背景颜色且与连框颜色相同,否则四角稍内会有月牙形"漏洞" */
background-color: var(--default-info-main-color);
border: 2px solid var(--default-info-main-color);
border-radius: 10px;
}
.default-info-item {
color: var(--default-info-text-color);
font-weight: bold;
padding-left: 10px;
padding-right: 10px;
box-sizing: border-box;
}
.default-info-header {
height: 50px;
line-height: 50px;
background-color: var(--default-info-main-color);
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom: 2px solid var(--default-info-main-color);
}
.default-info-body {
min-height: 200px;
background-color: var(--default-info-body-bgcolor);
padding: 10px;
}
.default-info-footer {
height: 40px;
line-height: 38px;
background-color: var(--default-info-footer-bgcolor);
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
/* border-bottom: 2px solid (206, 212, 218); */
}
/* #endregion*/

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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>H5学习</title>
<style>
.container {
margin: 10px;
padding: 0px;
}
</style>
</head>
<body>
<div class="container">
H5学习
</div>
</body>
</html>

@ -0,0 +1,13 @@
<!-- 此示例是html片断 -->
<link rel="stylesheet" href="./css/Import.css">
<div class="import-box">
<h2>引入html文件</h2>
<a href="#" onclick="window.top.location='./Index.html';">首页</a>
<a href="#" onclick="window.top.location='./UseIframe.html';">使用 iframe</a>
<a href="#" onclick="window.top.location='./UseObject.html';">使用 object</a>
<a href="#" onclick="window.top.location='./UseLink.html';">使用 link</a>
<a href="#">使用 bootstrap 等框架</a>
<a href="#" onclick="window.top.location='./UseJs.html';">使用 js</a>
<a href="#" onclick="window.top.location='./UseJquery.html';">使用 jquery</a>
<a href="#">使用 动态网页技术</a>
</div>

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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>使用 iframe</title>
</head>
<body class="iframe-body">
<link rel="stylesheet" href="css/Import.css">
<div class="import-box">
<h2>引入html文件</h2>
<a href="#" onclick="window.top.location='./Index.html';">首页</a>
<a href="#" onclick="window.top.location='./UseIframe.html';">使用 iframe</a>
<a href="#" onclick="window.top.location='./UseObject.html';">使用 object</a>
<a href="#" onclick="window.top.location='./UseLink.html';">使用 link</a>
<a href="#">使用 bootstrap 等框架</a>
<a href="#" onclick="window.top.location='./UseJs.html';">使用 js</a>
<a href="#" onclick="window.top.location='./UseJquery.html';">使用 jquery</a>
<a href="#">使用 动态网页技术</a>
</div>
</body>
</html>

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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>主页面</title>
<link rel="stylesheet" href="./css/app.css">
</head>
<body>
<div class="container">
<div class="menu">
<!-- 从html文件加载 -->
</div>
<div class="context">
<span>经比较,使用js或jQuery库最方便</span>
</div>
</div>
<!-- 使用原生js加载html文件 注意fetch的兼容性-->
<script>
fetch("./Import.html")
.then(response=> response.text())
.then(text=> document.getElementsByClassName("menu")[0].innerHTML = text);
</script>
</body>
</html>

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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>使用 iframe</title>
<link rel="stylesheet" href="css/app.css">
</head>
<body>
<div class="container">
<div class="menu">
<iframe
name="content_frame"
src="ImportIframe.html" >
</iframe>
</div>
<div class="context">
<span>iframe 内容区</span>
</div>
</div>
</body>
</html>

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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>使用jQuery</title>
<link rel="stylesheet" href="./css/app.css">
<script src="./jquery/jquery-3.6.4.min.js"></script>
<script>
$(document).ready(function () {
$(".import-box").load("./Import.html");
});
</script>
</head>
<body>
<div class="container">
<div class="menu">
<div class="import-box">
加载中......
</div>
</div>
<div class="context">
<span>主页内容区</span>
</div>
</div>
</body>
</html>

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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>使用js</title>
<link rel="stylesheet" href="./css/app.css">
</head>
<body>
<div class="container">
<div class="menu">
<div class="import-box">
加载中......
</div>
</div>
<div class="context">
<span>主页内容区</span>
</div>
</div>
<script>
fetch("./Import.html")
.then(response=> response.text())
.then(text=> document.getElementsByClassName("import-box")[0].innerHTML = text);
</script>
</body>
</html>

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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>使用 import</title>
<link rel="stylesheet" href="./css/app.css">
<link rel="stylesheet" href="./css/Import.css">
<link rel="import" href="./Import.html" id="menu"></head>
</head>
<body>
<div class="container">
<div class="menu">
<div class="import-box">
<h2>加载失败了</h2>
<a href="#" onclick="window.top.location='./Index.html';">首页</a>
<a href="#" onclick="window.top.location='./UseIframe.html';">使用 iframe</a>
<a href="#" onclick="window.top.location='./UseObject.html';">使用 object</a>
<a href="#" onclick="window.top.location='./UseLink.html';">使用 link</a>
<a href="#">使用 bootstrap 等框架</a>
<a href="#" onclick="window.top.location='./UseJs.html';">使用 js</a>
<a href="#" onclick="window.top.location='./UseJquery.html';">使用 jquery</a>
<a href="#">使用 动态网页技术</a>
</div>
</div>
<div class="context">
<span>使用Link.Import 内容区</span>
</div>
</div>
</body>
</html>

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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>使用 Object</title>
<link rel="stylesheet" href="css/app.css">
</head>
<body>
<div class="container">
<div class="menu">
<object
type="text/x-scriptlet"
data="./ImportIframe.html" >
</object>
</div>
<div class="context">
<span>使用 Object 内容区</span>
</div>
</div>
</body>
</html>

@ -0,0 +1,26 @@
body.iframe-body
{
margin: 0;
padding: 0;
}
.import-box {
margin: 0;
padding: 1px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
}
.import-box h2 {
text-align: left;
align-self: center;
}
.import-box a {
margin: 0 20px;
padding: 5px 5px;
text-align: left;
text-decoration: none;
}

@ -0,0 +1,71 @@
html {
margin: 0;
padding: 0;
}
body {
margin: 10px;
padding: 0;
}
.container {
margin: 15px auto;
padding: 15px;
min-height: 400px;
background-color: #aca8a8;
border: 1px solid rebeccapurple;
border-radius: 15px;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-evenly;
align-items: stretch;
}
.menu {
margin-right: 10px;
padding: 11px;
width: 250px;
background-color: #5ccb8c;
border: 2px solid rebeccapurple;
border-radius: 15px;
/*便于计算*/
background-origin: border-box;
}
iframe {
overflow-clip-margin: content-box !important;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
border-width: 0px;
}
object {
overflow-clip-margin: content-box !important;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
border-width: 0px;
}
.context {
width: calc(100% - 200px);
padding: 10px;
background-color: #7b96cf;
border: 2px solid rebeccapurple;
border-radius: 15px;
margin-left: auto;
text-align: center;
font-size: 50px;
/*便于计算*/
background-origin: border-box;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content:flex-start;
align-items: center;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

@ -0,0 +1,214 @@
`html` 中引用 `html``html片断` 的方式
============================================
在静态站点的制作中,有些像通用菜单、头部、页脚等是统一的,如果在各页页中都复制一分对于修改是个空难级影响。
以下是几种在html中引用另一个 html 文件的方式。
本示例中被引用的html片断文件为 import.html方便起见引用和被引用的html文件牌同一目录(当然也可以不同)。
## 纯 `html` 方式
+ 使用ifreame 标签
``` html
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>使用iframe标签引用html文件</title>
<base href="/" />
</head>
<body>
<div>
其它内容
</div>
<!-- 使用iframe标签引用html文件 -->
<iframe
<!-- 各种属性 -->
name="content_frame"
width="100%"
height="30px"
marginwidth = 0
marginheight=0
src="import.html" >
</iframe>
<div>
其它内容
</div>
</body>
</html>
<!-- 优点:兼容性好,方便快捷 -->
<!-- 缺点:
0、父文档必须多加一个 <iframe> 标签
1、必须是完整的html结构; html片断 会被浏览器自动添加成完整的html结构
2、布局流独立样式独立
3、浏览器当两个独立网页
4、样式和调试不太方便
-->
````
+ 使用object 标签
``` html
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>使用 "object标签" 引用html文件</title>
</head>
<body>
<div>
其它内容
</div>
<!-- 使用 "object标签" 引用html文件 -->
<object
<!-- 各种属性 -->
style="border:0px"
type="text/x-scriptlet"
data="import.html"
width=100%
height=30 >
</object>
<div>
其它内容
</div>
</body>
</html>
<!-- 优点:
1、兼容性好
2、使用方便无依赖
-->
<!-- 缺点:
0、父文档必须多加一个 <object> 标签
1、必须是完整的html结构; html片断 会被浏览器自动添加成完整的html结构
2、浏览器当两个独立网页
3、样式和调试不太方便
-->
````
+ 使用link 标签<link rel="import" href="x.html" id="xx"/> [实现困难]
``` html
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>使用iframe标签引用html文件</title>
<base href="/" />
<link rel="import" href="page/Page_1.html" id="page1"></head>
</head>
<body>
<div>
其它内容
</div>
<!-- 使用link标签的import引用html文件 -->
<div>
其它内容
</div>
</body>
</html>
<!-- 优点: 理论上是最好的试
-->
<!-- 缺点:
1、浏览器支持不好
IE、firefox等不支持;chrome、新Edge支持老版本可能要打开设置chrome://flags 启用HTML imports
或者使用兼容js插件
2、实现困难对浏览器要求高目前没能实现
3、扩大兼容的话要引入js库还要进行浏览器设置
4、如果要引入js插件不如直接使用js或jQuery了。
-->
````
+ bootstrap 的 panel 组件,或者 easyui 的 window 组件
``` html
<!-- 优点与UI框架集成方便实现多种效果 -->
<!-- 缺点需要引用较重的UI框架不如使用原生js或jQuery-->
````
## 使用 js 配合
+ 原生 js
``` html
<!-- 大体步骤:
1、远程请求html文件使用xhrRequest请求或者fetch请求(fetch注意浏览器的兼容性)
-->
<!DOCTYPE html>
<html lang="zh-CN">
<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>使用js</title>
<link rel="stylesheet" href="./css/app.css">
</head>
<body>
<div class="container">
<div class="menu">
<div class="import-box">
加载中......
</div>
</div>
<div class="context">
<span>主页内容区</span>
</div>
</div>
<script>
fetch("./Import.html")
.then(response=> response.text())
.then(text=> document.getElementsByClassName("import-box")[0].innerHTML = text);
</script>
</body>
</html>
<!-- 优点:
1、原生兼容性好
2、不需要引入第三方库
-->
<!-- 缺点:
1、需要一个唯一的父元素
2、代码开发没有使用框架方便
-->
````
+ 使用jquery
``` html
<!DOCTYPE html>
<html lang="zh-CN">
<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>使用jQuery</title>
<link rel="stylesheet" href="./css/app.css">
<script src="./jquery/jquery-3.6.4.min.js"></script>
<script>
$(document).ready(function () {
$.get("./Import.html", function(data,state,xhr) {
$(".import-box").innerHTML(data);
});
});
</script>
</head>
<body>
<div class="container">
<div class="menu">
<div class="import-box">
加载中......
</div>
</div>
<div class="context">
<span>主页内容区</span>
</div>
</div>
</body>
</html>
<!-- 优点:
1、兼容性最好几乎能兼容所有浏览器(jquery有多个版本老版能兼容到IE6,甚至IE5)
2、开发方便快捷
-->
<!-- 缺点:
1、需要引用jquery库并且注意版本(版本问题比较小,主要是版本可能和功能版本有冲突)
-->
````
## 动态网页技术
比如 asp.net webform、mvc、razor、blazor等技术中都有一个类似"模板页"的概述,可以很方便的实现。

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
</body>
</html>

@ -0,0 +1,159 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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">
<link rel="stylesheet" href="./css/box.css">
<title>垂直居中-目录</title>
<style>
ul li {
list-style: none;
margin: 5px;
padding: 10px;
}
ul li {
font-size: 20px;
border: 1px solid rebeccapurple;
border-radius: 5px;
}
.outer {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
align-content: center;
}
</style>
</head>
<body>
<!-- 信息框:解说 -->
<div class="default-info ">
<div class="default-info-item default-info-header">
垂直居中方法-目录
</div>
<div class="default-info-item default-info-body">
<ul class="outer">
<li>
<a href="https://blog.csdn.net/Ed7zgeE9X/article/details/123143498" target="_blank">11种垂直居中方法</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
<li>
<a href="./垂直居中.宽高已知.1.行高与高度相等.html" target="_blank">宽高已知-单行</a>
</li>
</ul>
</div>
<div class="default-info-item default-info-footer">
目录
</div>
</div>
</body>
</html>

@ -0,0 +1,47 @@
<!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>信息框</title>
<link rel="stylesheet" href="./css/box.css">
</head>
<body>
<div class="info-box">
<div class="info-box-item info-box-header">
信息框标题
</div>
<div class="info-box-item info-box-body">
信息框内容
</div>
<div class="info-box-item info-box-footer">
信息框页脚
</div>
</div>
<div class="msg">
<div class="msg-item msg-header">
信息框标题
</div>
<div class="msg-item msg-body">
信息框内容
</div>
<div class="msg-item msg-footer">
信息框页脚
</div>
</div>
<div class="default-info">
<div class="default-info-item default-info-header">
信息框标题
</div>
<div class="default-info-item default-info-body">
信息框内容
</div>
<div class="default-info-item default-info-footer">
信息框页脚
</div>
</div>
</body>
</html>

@ -0,0 +1,165 @@
/* 信息框样式 */
/* #region 实现方式一 */
/* 实现方式一:外层无边框等设置,框形由 "内上的左、上、右边框"、"内中的左与右边框"及 "内下的左、右、下边框" 组成 */
.info-box {
--info-box-main-color:#6f42c1;
--info-box-text-color:#ffffff;
--info-box-body-bgcolor:#afa1c9;
--info-box-footer-bgcolor:#a78adc;
margin: 10px;
padding: 0;
font-size: 16px;
font-weight: bold;
color: var(--info-box-text-color);
}
.info-box .info-box-item {
box-sizing: border-box;
padding: 10px;
}
.info-box .info-box-header {
height: 50px;
line-height: 28px;
background-color: var(--info-box-main-color);
border-top: 2px solid var(--info-box-main-color);
border-left: 2px solid var(--info-box-main-color);
border-right: 2px solid var(--info-box-main-color);
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.info-box .info-box-body {
min-height: 200px;;
background-color: var(--info-box-body-bgcolor);
border-left: 2px solid var(--info-box-main-color);
border-right: 2px solid var(--info-box-main-color);
}
.info-box .info-box-footer {
height: 40px;
line-height: 18px;
background-color: var(--info-box-footer-bgcolor);
border-bottom: 2px solid var(--info-box-main-color);
border-left: 2px solid var(--info-box-main-color);
border-right: 2px solid var(--info-box-main-color);
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
/* #endregion */
/* #region 实现方式二 */
/* 实现方式二:框形由 外层边框形成,内上、内中、内下配合各相应角的形状 */
.msg {
--msg-text-color:#ffffff;
--msg-main-color: green;
--msg-body-bgcolor:rgba(154, 176, 154, 0.726);
--msg-footer-bgcolor: rgb(98, 145, 98);
margin: 10px;
padding: 0;
/* 外层必须背景颜色且与连框颜色相同,否则四角稍内会有月牙形"漏洞" */
background-color: var(--msg-main-color);
border: 2px solid var(--msg-main-color);
border-radius: 10px;
}
.msg .msg-item {
color: var(--msg-text-color);
font-weight: bold;
padding-left: 10px;
padding-right: 10px;
box-sizing: border-box;
}
.msg .msg-header {
height: 50px;
line-height: 48px;
background-color: var(--msg-main-color);
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom: 2px solid var(--msg-main-color);
}
.msg .msg-body {
height: 200px;
background-color: var(--msg-body-bgcolor);
padding: 10px;
}
.msg .msg-footer {
height: 39px;
line-height: 38px;
background-color: var(--msg-footer-bgcolor);
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
/* #endregion */
/* #region 默认信息框 */
/* 默认信息框:基于"实现方式二" */
.default-info {
--default-info-text-color:#000000;
--default-info-main-color: rgb(206, 212, 218);
--default-info-body-bgcolor:rgb(248, 249, 250);
--default-info-footer-bgcolor: rgb(233, 236, 239);
margin: 10px;
padding: 0;
/* 外层必须背景颜色且与连框颜色相同,否则四角稍内会有月牙形"漏洞" */
background-color: var(--default-info-main-color);
border: 2px solid var(--default-info-main-color);
border-radius: 10px;
}
.default-info-item {
color: var(--default-info-text-color);
font-weight: bold;
padding-left: 10px;
padding-right: 10px;
box-sizing: border-box;
}
.default-info-header {
height: 50px;
line-height: 50px;
background-color: var(--default-info-main-color);
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom: 2px solid var(--default-info-main-color);
}
.default-info-body {
min-height: 200px;
background-color: var(--default-info-body-bgcolor);
padding: 10px;
}
.default-info-footer {
height: 40px;
line-height: 38px;
background-color: var(--default-info-footer-bgcolor);
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
/* border-bottom: 2px solid (206, 212, 218); */
}
/* #endregion*/

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html lang="zh-CN">
<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">
<link rel="stylesheet" href="./css/box.css">
<title>垂直居中-宽高已知-设置行高与高度相等</title>
<style>
.outer {
height: 350px;
background-color: purple;
margin: 10px;
text-align: center;
}
.inner {
height: 300px;
line-height: 300px;
background-color: skyblue;
border: 1px solid seagreen;
margin: 0 auto;
padding: 5px;
}
</style>
</head>
<body>
<!-- 信息框:解说 -->
<div class="default-info ">
<div class="default-info-item default-info-header">
垂直居中-宽高已知-设置行高与高度相等
</div>
<div class="default-info-item default-info-body">
<p>垂直居中:设置行高与高度相等</p>
<p>只适用于单行文本</p>
</div>
<div class="default-info-item default-info-footer">
注意:行高要去掉 "边框与内边距", 如果存在的话
</div>
</div>
<div class="outer">
<span class="inner">
垂直与水平居中
</span>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.6.33723.286
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "H5Study.WebApp", "H5Study.WebApp\H5Study.WebApp.csproj", "{B5EDCF1C-116C-420A-B97D-8443FC0DD770}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B5EDCF1C-116C-420A-B97D-8443FC0DD770}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B5EDCF1C-116C-420A-B97D-8443FC0DD770}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B5EDCF1C-116C-420A-B97D-8443FC0DD770}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B5EDCF1C-116C-420A-B97D-8443FC0DD770}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {60E65775-CDC1-436C-96B3-A4BED1C0168B}
EndGlobalSection
EndGlobal
Loading…
Cancel
Save