横线和文字一排,文字居中显示vertical-align: middle;

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
hr {
width: 33.33%;
height: 1px;
margin: 0;
background-color: #6495ED;
display: inline-block;  // hr是块级元素
vertical-align: middle;
}

span {
color: #000;
}
</style>
</head>

<body>
<div class="box">
<hr />
<span>文字居中显示</span>
<hr />
</div>
</body>

</html>

转载于:https://www.cnblogs.com/zousaili/p/9413840.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设你的图书列表页面是/books,当用户单击某本图书名称时,会跳转到该图书的详细信息页面,页面路由为/book/:id,其中:id为该图书的唯一标识符。以下是使用Express框架实现该功能的代码: ``` // 引入模块 const express = require('express'); const router = express.Router(); const fs = require('fs'); // 定义图书列表页面路由 router.get('/books', (req, res) => { // 读取图书列表数据 const booksData = JSON.parse(fs.readFileSync('./data/books.json')); // 渲染图书列表页面 res.render('books', {title: '图书列表', books: booksData}); }); // 定义图书详细信息页面路由 router.get('/book/:id', (req, res) => { // 读取该图书的详细信息 const bookId = req.params.id; const booksData = JSON.parse(fs.readFileSync('./data/books.json')); const bookInfo = booksData.find(book => book.id === bookId); // 渲染图书详细信息页面 res.render('bookInfo', {title: bookInfo.name, book: bookInfo}); }); // 导出路由模块 module.exports = router; ``` 在上述代码中,我们使用了Express框架中的Router对象来定义路由。首先,我们定义了/books路由来展示图书列表页面。在/books路由的回调函数中,我们读取了存储图书列表数据的JSON文件,并将数据传递给books模板进行渲染。 接着,我们定义了/book/:id路由来展示图书详细信息页面。在/book/:id路由的回调函数中,我们使用req.params.id获取用户单击的图书的唯一标识符,然后根据该标识符读取存储图书列表数据的JSON文件,并使用Array.prototype.find()方法找到该图书的详细信息。最后,我们将该图书的详细信息传递给bookInfo模板进行渲染。 下面是bookInfo模板的代码: ``` <html lang="en"> <head> <title><%= title %></title> <link rel="stylesheet" type="text/css" href="/stylesheets/divBar.css"> <style type="text/css"> div.book {width:90%;margin:10px auto;} div.picture {float:left;text-align: center;width:20%;height:800px;position: relative;top: 20px;} div.info {width: 80%;height:800px;padding-left: 50px;position: relative; top: 20px;} a.bookname {display: block;height: 30px;line-height: 30px;font-size: 20px;color: blue} a.bookname:hover {text-decoration: underline} span.price {display: inline-block;height: 30px;line-height: 30px;font-size:20px;color: red;} a.ap {display:inline-block;height: 30px;line-height: 30px;font-size: 15px;color: blue;} span.other {display:inline-block;height: 30px;line-height: 30px;font-size: 15px;color: black;} span.abstract {display: block;font-size: 15px;color: black;} </style> </head> <body> <div class="book"> <div class="picture"> <img src="<%= book.cover %>" alt="<%= book.name %>"> </div> <div class="info"> <a href="#" class="bookname"><%= book.name %></a> <hr> <p>作者:<span class="other"><%= book.author %></span></p> <p>出版社:<span class="other"><%= book.publisher %></span></p> <p>淘书价格:<span class="price">¥<%= book.price %></span></p> <br> <p>内容简介:</p> <p><span class="abstract"><%= book.abstract %></span></p> </div> </div> </body> </html> ``` 在bookInfo模板中,我们使用了模板引擎中的变量替换语法<%= %>来将图书的详细信息渲染到页面中。具体来说,我们将图书的封面图片、书名、作者、出版社、淘书价格和内容简介分别渲染到相应的HTML元素中。其中,图书的封面图片使用了<img>标签来显示,其他信息使用了<p>标签和<span>标签来显示。最后,我们将整个图书详细信息页面放在一个名为bookInfo的模板文件中,以便于在/book/:id路由回调函数中进行渲染。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值