怎样用HTML仿制一个类似RPGMaker的对话框?

新手上路,请多包涵

我想用HTML做一个RPGMaker的对话框。
RPGMaker截图
首先我获取并制作了其边框(命名为window.png),
图片描述
对话框的颜色是由上到下的一个渐变色(浅蓝变深蓝),然后对截图取色得到渐变的两个颜色,
在css中键入:

#Dialog {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    box-sizing: border-box;
    border: 15px solid transparent;
    border-image: url(window.png) 15 round;
    background:linear-gradient(#2f5a8b,#01055d);
}

在Chrome中打开,得到如图效果:
图片描述
显然,处理上有点问题。
我们为background添加content-box来获得边框不填色的情况,
图片描述
根据图片可知,对于左右两侧的边框填色是正确的,而上下两边的填色却颠倒了,这...不知是BUG还是啥。
有什么解决方法吗?

注:

  1. 直接在原始图上对透明边框染色。可以缓解问题,但这样对后期对话框设置颜色很不友好。
  2. 这里我希望只使用HTML/CSS/JS,不太希望用pixi.js等靠canvas的方案。
阅读 2.9k
1 个回答
✓ 已被采纳新手上路,请多包涵

原来前端里不少地方靠的是奇技淫巧...
看到一篇博客 https://www.cnblogs.com/z-one... 讲的是border-image和border-color不能同时适用的问题,然后作者使用阴影巧妙解决。。。

于是,我在Dialog(div)里面又套了一层Dialog-frame(div),并且对外层使用背景色,对内层使用边框,于是效果就ok了。
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏