gpt4 book ai didi

html - 如何使用 golang 运行带有 css 的 html

转载 作者:行者123 更新时间:2023-12-04 15:10:08 24 4
gpt4 key购买 nike

各位,我在通过 golang 文件在 html 文件中包含 css 时遇到了问题。本地服务器输出的只有html文件,没有css,如何解决?

也许我使用模板包的方式有问题,所以你能解释一下如何以不同的方式进行路由吗?例子:当你去 http://localhost:8080/login 并且它会显示 login.html。我看到了关于它的 net/http 文档,但要么我是盲人,要么我只是试图在那里找到错误的东西。所有文件都在同一个目录下

welcome.html

<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Website</title>
<link rel="stylesheet" href="style.css" >
</head>

<body>
<link rel="stylesheet" href="style.css">
<form action="">
<center><h1>Enter</h1></center>
<div class="group">
<label for="">Login:</label>
<input type="text">
</div>
<div class="group">
<label for="">Password:</label>
<input type="password">
</div>
<div class="group">
<center><button>Come in</button></center>
</div>
<center><a href="regist.html" class="link">Registration</a></center>
</form>

</body>
</html>

样式.css

@charset "utf-8";
/* CSS Document */
body
{
font-family: "Comic Sans MS";
background-image: url(images/bg.jpg);
background-repeat: repeat ;
background-size: 80px 80px ;
}
h1
{
margin: 0;
text-transform: uppercase;
padding-bottom: 5px;
border-bottom: 3px solid rgba(58,87,15,0.80);
}
form
{
margin : 0 auto;
background: rgba(123,170,52,0.76);
width: 450px;
height: 350px;
padding: 20px;
box-shadow: 2px 2px 5px rgba(0,0,0,0.82);
}
.group
{
margin: 16px ;
padding: 5px;

}
label
{
padding-left: 10px;
text-transform: uppercase;
}
input
{
margin-top: 5px;
height: 30px;
width: 400px;
border-radius:20px/20px;
border: none;
padding-left: 15px;
font-size: 18px;
box-shadow: 2px 2px 5px rgba(0,0,0,0.82);
}

input:focus{
border: 2px solid #264503;
transform: translateX(15px);
width: 385px;
}
button{
font-family: "Comic Sans MS";
cursor: pointer;
padding: 10px 20px;
height: 40px;
color:aliceblue;
background: rgba(21,73,3,1.00);
border: none;
text-transform: uppercase;
font-size: 15px;
box-shadow: 2px 2px 5px rgba(0,0,0,0.82);
}
button:hover{
font-weight: bold;
transform: scale(1.1);
}

.link{
font-family: "Comic Sans MS";
cursor: pointer;
padding: 10px 20px;
height: 40px;
color:aliceblue;
background: rgba(21,73,3,1.00);
border: none;
text-transform: uppercase;
font-size: 15px;
box-shadow: 2px 2px 5px rgba(0,0,0,0.82);
text-decoration: none;

}

goFile.go

package main

import (
"fmt"
"html/template"
"net/http"
)

func welcome(w http.ResponseWriter, r *http.Request) {

tmpl := template.Must(template.ParseFiles("welcome.html"))

tmpl.Execute(w, nil)
}

func login(w http.ResponseWriter, r *http.Request) {
tmpl := template.Must(template.ParseFiles("login.html"))

tmpl.Execute(w, nil)
}

func main() {
http.HandleFunc("/", welcome)
http.HandleFunc("/login", login)

fmt.Println("Listening...")
http.ListenAndServe(":8080", nil)
}

**输出如下:** output

总结: 如何使用golang net/http 或html/template 包来显示带css 的页面?如何正确地在页面之间进行路由?对不起错误。提前致谢,伙计们!

最佳答案

你的 Go 服务器不知道它应该提供 style.css 因为你从来没有告诉过它。如果将该文件移动到 assets/ 子目录,则可以注册一个处理程序来为该目录提供服务:

http.Handle("/assets/", http.StripPrefix("/assets/", http.FileServer(http.Dir("assets"))))

另见 this answer .

关于html - 如何使用 golang 运行带有 css 的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61057271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com