以下是一个基于 HTML、CSS 和 JavaScript 实现活字格排版的例子:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>活字格排版</title>
<style>
/* 定义活字格样式 */
.grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(3, 1fr);
grid-gap: 10px;
background-color: #eee;
padding: 10px;
margin-bottom: 20px;
}
/* 定义活字样式 */
.letter {
display: flex;
align-items: center;
justify-content: center;
background-color: #fff;
border: 1px solid #ccc;
font-size: 24px;
font-family: Arial, sans-serif;
font-weight: bold;
}
</style>
</head>
<body>
<div class="grid">
<div class="letter">大</div>
<div class="letter">家</div>
<div class="letter">好</div>
<div class="letter">!</div>
<div class="letter">我</div>
<div class="letter">是</div>
<div class="letter">一</div>
<div class="letter">个</div>
<div class="letter">活</div>
<div class="letter">字</div>
<div class="letter">格</div>
<div class="letter">文</div>
<div class="letter">字</div>
<div class="letter">排</div>
<div class="letter">版</div>
</div>
<script>
/* 动态调整活字格大小 */
function resizeGrid() {
let grid = document.querySelector('.grid');
let letters = document.querySelectorAll('.letter');
let gridSize = Math.ceil(Math.sqrt(letters.length));
grid.style.gridTemplateColumns = `repeat(${gridSize}, 1fr)`;
grid.style.gridTemplateRows = `repeat(${gridSize}, 1fr)`;
}
/* 页面加载完成后动态调整活字格大小 */
window.onload = resizeGrid;
/* 监听窗口大小变化,动态调整活字格大小 */
window.addEventListener('resize', resizeGrid);
</script>
</body>
</html>
```
在这个例子中,通过 CSS 定义了活字格和活字的样式,通过 JavaScript 动态调整活字格的大小,以适应不同大小的窗口。请注意,这只是一个基础的例子,实际应用中可能需要更加精细的调整和实现。
|
|