正文边框,圆角 内侧

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 $200 免费积分!

读者 Arun 询问了如何制作正文边框,使其在内部边缘处圆角。 就像这样。 我们之前已经介绍过 正文边框,但这有点不同。

乍一看确实有点令人困惑。 您无法像使用 CSS 一样使用奇怪的内部圆角,那简直是胡说八道。 但是,如果您只是将它视为一个普通的圆角元素叠加在一个正方形元素之上,它看起来就不会那么奇怪了。 因此,这是尝试 #1

Check out this Pen!

但如果仅仅出于设计原因而存在的额外元素让我们感到困扰,我们实际上可以使用 <body> 元素上的 border-image 来实现这一点。 请记住,border-image 本质上就是“九宫格”缩放。 四个固定大小的角,四个沿一个轴重复的边,以及一个可拉伸的中间部分。

非常容易

body {
  border-image: url(rounded-edge.png) 25% repeat;
  border-width: 25px;
}

请注意,IE(任何版本)都不支持 border-image

Check out this Pen!

但是但是但是滚动

我们需要问的是,“正文边框”始终具有可见的底部边框有多重要。 如果底部部分可以随着页面长度超过视窗而滚动,那就很简单了。

我们只需确保正文至少有那么大,但可以变得更大

* { box-sizing: border-box; }
html { height: 100%; }
body { min-height: 100%; }
Check out this Pen!

如果底部边框不能滚动(始终可见),那么我们必须再次使用那个额外的元素。 只是我们需要确保它可以垂直滚动。 不过,除非我们在使用 WebKit,否则该滚动条可能会影响圆角,因为我们可以调整滚动条的外观以确保一切正常。

body {
  background: #5bb0ff;
}

.page-wrap {
  position: fixed;
  top: 10px;
  right: 10px;
  left: 10px;
  bottom: 10px;
  background: white;
  border-radius: 10px;
  padding: 20px;
  overflow-y: scroll;
}

::-webkit-scrollbar-track {
  background: none;
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 5px;
}
Check out this Pen!

这就是我所有的想法。