📅  最后修改于: 2023-12-03 15:24:10.797000             🧑  作者: Mango
在 Golang 中提供 CSS 可以通过以下几种方式实现:
在 Golang 的 HTML 模板中可以使用内嵌样式表。可以通过 <style>
标签来定义样式表。
示例代码:
package main
import (
"html/template"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
tmpl := template.Must(template.ParseFiles("index.html"))
data := struct {
Title string
Style string
}{
Title: "Hello World",
Style: `
body {
background-color: #fafafa;
}
h1 {
color: #333;
font-size: 2em;
margin: 1em 0;
}
`,
}
tmpl.Execute(w, data)
})
http.ListenAndServe(":8080", nil)
}
在以上示例代码中,将样式表定义在了 Go 代码中,并在 HTML 模板中通过 {{.Style}}
的方式动态引入。
我们也可以将样式表放在外部文件中,通过 HTTP 请求来获取。可以通过 http.ServeFile
或者 http.FileServer
来提供外部样式表。
示例代码:
package main
import (
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, "index.html")
})
// 外部样式表所在的目录
http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("./css"))))
http.ListenAndServe(":8080", nil)
}
如果我们的站点使用了外部的 CSS 库,可以通过 CDN 的方式来加速加载。可以通过在 HTML 中引入外部 CSS 链接来实现。例如:
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.3.1/css/bootstrap.min.css">
以上是在 Golang 中提供 CSS 的几种方式,可以根据具体需求来选择使用哪种方式。