马黑黑 发表于 2022-1-16 22:24

纯CSS模拟小辣椒的音乐帖框架

本帖最后由 马黑黑 于 2022-1-16 22:27 编辑

外框架效果非常逼近,内框架略微改动,做成立体效果。小辣椒的帖子正文内容也可以用CSS重新定义样式,有空再补充。先上框架代码:嵌套方式使用两个div,不用table,不用底图:<style type="text/css">
.mnBox { /* 外框 */
      margin: 0 auto;
      padding: 35px;
      border: none;
      border-top: 6px solid #000;/* 顶部边框样式*/
      border-radius: 10px;
      background: #b3c3c3;
}
.ctBox { /* 内框 */
      margin: 0;
      padding: 10px;
      background: #fff;
      min-height: 300px;
      border-radius: 10px;
      box-shadow: 1px 3px 2px 2px rgba(4,4,4,.6);
}

</style>

<div class="mnBox">
      <div class="ctBox">帖子内容</div>
</div>

马黑黑 发表于 2022-1-16 22:26

<p>效果演示:<br> &nbsp;</p>
<style type="text/css">
.mnBox {
      margin: 0 auto;
      padding: 35px;
      border: none;
      border-top: 6px solid #000;/* 顶部边框样式*/
      border-radius: 10px;
      background: #b3c3c3;
}
.ctBox {
      margin: 0;
      padding: 10px;
      background: #fff;
      min-height: 300px;
      border-radius: 10px;
      box-shadow: 1px 3px 2px 2px rgba(4,4,4,.6);
}

</style>

<p></p><div class="mnBox">
      <div class="ctBox">帖子内容</div>
</div>

马黑黑 发表于 2022-1-16 22:29

内框的 min-height: 300px; 定义最低高度,是演示需要,使用时可以不保留,由内容撑开高度。保留也没关系,内容高度超过它定义的值时会自动撑开。

马黑黑 发表于 2022-1-16 22:57

连同内容梳理了一下全码(帖子具体内容要修改,包括正文图片、文字和音乐地址:

<style type="text/css">
.mnBox {
        margin: 0 auto;
        padding: 35px;
        width: 720px;
        border: none;
        border-top: 6px solid #000;/* 顶部边框样式*/
        border-radius: 10px;
        background: #b3c3c3;
}
.ctBox {
        margin: 0;
        padding: 10px;
        background: #fff;
        min-height: 300px;
        border-radius: 10px;
        box-shadow: 1px 3px 2px 2px rgba(4,4,4,.6);
}

.ctBox p,img, h2,button { text-align:center; }

.picBtn {
      width: 32px;
      height: 32px;
      border: none;
      border-radius: 8px;
      background: transparent url('http://image.hnol.net/c/2022-01/16/15/202201161501092411-5087368.gif') no-repeat;
      cursor: pointer;
      box-shadow: 1px 1px 2px 1px rgba(0,0,0,.25);
}

.picBtn:hover {
      opacity: 0.95;
      box-shadow: 1px 1px 2px 2px rgba(0,0,0,.3);
}

.picBtn:active {
      opacity: 0.8;
      box-shadow: 1px 1px 1px 0px rgba(0,0,0,.5);
}

</style>

<div class="mnBox">
        <div class="ctBox">
                <p><img alt="" src=""图片地址 /></p>
                <h2 style="text-align:center;">帖子标题</h2>
                <pre>
                帖子内容行一
                帖子内容行二
                每行不要太长
                注意缩进
                注意分行(不要HTML标签)
                </pre>
                <p><audio id="music" src="音乐地址"></audio></p>
                <p><button id="picBtn" class="picBtn"></button></p>
                <p>制作者 年月日</p>
        </div>
</div>

<script language="javascript">

var mu = document.getElementById('music');
var btn = document.getElementById('picBtn');

btn.onclick = function(){
      mu.paused ? (mu.play(), btn.style.background="url('http://image.hnol.net/c/2022-01/16/15/202201161501412221-5087368.gif')") : (mu.pause(), btn.style.background="url('http://image.hnol.net/c/2022-01/16/15/202201161501092411-5087368.gif ')");
}

mu.addEventListener("ended", function(){
      btn.style.background="url('http://image.hnol.net/c/2022-01/16/15/202201161501092411-5087368.gif')";
})

</script>

马黑黑 发表于 2022-1-16 23:06

这个模拟,改一下外框的顶部颜色和背景色(background),甚至样式,就可以有不同的面貌。至于正文,可以自己设定,注意三楼的全帖代码有一句——

.ctBox p,img, h2,button { text-align:center; }

——是设定了 帖内的 p,img,h2,button 都居中,写帖时如果需要居中就不必重复设定。

红影 发表于 2022-1-17 08:49

这个也太厉害了,惊呆。{:4_199:}

红影 发表于 2022-1-17 08:52

代码语言万事皆可模拟。黑黑回帖还不耽误,却能把这个就编写出来了,非常敏捷{:4_187:}

红影 发表于 2022-1-17 08:52

这个可以作为做这类边框帖子的模板了,纯代码的边框,而且加分不会飞{:4_187:}

红影 发表于 2022-1-17 09:02

古人是谈笑间樯橹灰飞烟灭,你这是谈笑间代码立就,这份敏捷无人能比{:5_116:}

加林森 发表于 2022-1-17 09:10

再来学习,谢谢老黑!{:4_190:}

马黑黑 发表于 2022-1-17 09:11

加林森 发表于 2022-1-17 09:10
再来学习,谢谢老黑!

这个代码它是规范的,一切即统一又清晰明了

加林森 发表于 2022-1-17 09:12

马黑黑 发表于 2022-1-17 09:11
这个代码它是规范的,一切即统一又清晰明了

嗯嗯,明白的。我再去练习一下。{:4_190:}

马黑黑 发表于 2022-1-17 09:12

红影 发表于 2022-1-17 08:49
这个也太厉害了,惊呆。

小辣椒这个帖子框架本身不复杂,模拟器来还是容易的

马黑黑 发表于 2022-1-17 09:13

红影 发表于 2022-1-17 08:52
代码语言万事皆可模拟。黑黑回帖还不耽误,却能把这个就编写出来了,非常敏捷

杀猪刀在手{:5_117:}

马黑黑 发表于 2022-1-17 09:16

红影 发表于 2022-1-17 08:52
这个可以作为做这类边框帖子的模板了,纯代码的边框,而且加分不会飞

不过我发现一个小问题:播放按钮点击后有些浏览器会留下一个虚框,这是没有设置 outline 为 none 的缘故,原理和我介绍播放器时说的一样。可在播放按钮的 CSS 样式表中加入一句:

.picBtn {
    ......
    ......
    outline: none;
}

马黑黑 发表于 2022-1-17 09:17

红影 发表于 2022-1-17 09:02
古人是谈笑间樯橹灰飞烟灭,你这是谈笑间代码立就,这份敏捷无人能比

哪有那么厉害,是加班加点弄出来的

马黑黑 发表于 2022-1-17 09:18

加林森 发表于 2022-1-17 09:12
嗯嗯,明白的。我再去练习一下。

辛苦

加林森 发表于 2022-1-17 10:26

马黑黑 发表于 2022-1-17 09:18
辛苦

不辛苦的啊,喜欢就好的嘛。

红影 发表于 2022-1-17 12:04

马黑黑 发表于 2022-1-17 09:12
小辣椒这个帖子框架本身不复杂,模拟器来还是容易的

你一看就能弄出来,我再多看几看,也不知道这样能用代码模拟{:4_173:}

红影 发表于 2022-1-17 12:05

马黑黑 发表于 2022-1-17 09:13
杀猪刀在手

你一直说杀猪,杀的就是代码这头猪吧{:4_173:}
页: [1] 2 3 4
查看完整版本: 纯CSS模拟小辣椒的音乐帖框架