SpringBoot--个人博客--2.页面设计与开发--首页

2.1设计

设计原型工具:axure
前端框架:Semantic UI

2.2页面开发-首页

2.2.1代码

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!--移动端预览设置-->
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>首页</title>
    <!--引入semantic框架 CDN方式-->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.css">
    <!--引入自定义的CSS-->
    <link rel="stylesheet" href="./static/css/me.css">
</head>
<body>

<!--导航-->
<nav class="ui inverted attached segment m-padded-tb-mini">
    <!--整个容器用了inverted,内部的ui组件也要用-->
    <div class="ui container">
        <div class="ui inverted secondary stackable menu">
            <h2 class="ui teal header item">Blog</h2>
            <a href="#" class="m-item item m-mobile-hide"><i class="home icon"></i>首页</a>
            <a href="#" class="m-item item m-mobile-hide"><i class="idea icon"></i>分类</a>
            <a href="#" class="m-item item m-mobile-hide"><i class="tags icon"></i>标签</a>
            <a href="#" class="m-item item m-mobile-hide"><i class="info icon"></i>关于我</a>
            <div class="right m-item item m-mobile-hide">
                <div class="ui icon inverted transparent input">
                    <input type="text" placeholder="Search...">
                    <i class="search link icon"></i>
                </div>
            </div>
        </div>
    </div>
    <a href="#" class="ui menu toggle black icon button m-right-top m-mobile-show">
        <i class="sidebar icon"></i>
    </a>
</nav>

<!--中间内容-->
<div class="m-padded-tb-large">
    <div class="ui container">
        <div class="ui stackable grid">
            <!--左边博客列表-->
            <div class="eleven wide column">
                <!--header-->
                <div class="ui top attached m-padded-lr-large segment">
                    <div class="ui middle aligned two column grid">
                            <div class="column">
                                <h3 class="ui teal header">博客</h3>
                            </div>
                            <div class="right aligned column"><h2 class="ui orange header m-inline-block m-text-thin">&nbsp14&nbsp;</h2></div>
                        </div>
                </div>
                <!--content-->
                <div class="ui attached m-padded-lr-large segment">
                    <div class="ui padded vertical segment m-padded-tb-large">
                            <div class="ui mobile reversed stackable grid">
                                <div class="eleven wide column">
                                    <h3 class="ui header">疫情下的魔幻现实主义</h3>
                                    <p class="m-text">所谓“魔幻现实主义”,就是看起来很魔幻,但实际上很现实。之所以认为这个世界太魔幻,是因为之前的认识不够现实。</p>
                                    <div class="ui grid">
                                        <div class="eleven wide column">
                                            <div class="ui mini horizontal link list">
                                                <div class="middle aligned item">
                                                    <img src="https://i.picsum.photos/id/1014/6016/4000.jpg" alt="" class="ui avatar image">
                                                    <div class="content"><a href="#" class="header">方一帆</a></div>
                                                </div>
                                                <div class="middle aligned item">
                                                    <i class="calendar icon"></i>2020-02-04
                                                </div>
                                                <div class="middle aligned item">
                                                    <i class="eye icon"></i>3412
                                                </div>
                                            </div>
                                        </div>
                                        <div class="middle aligned right aligned five wide column">
                                            <a href="#" target="_blank" class="ui teal basic label m-padded-tb-tiny m-text-thin">认知升级</a>
                                        </div>
                                    </div>
                                </div>
                                <div class="five wide column">
                                    <a href="#" target="_blank">
                                        <img src="https://i.picsum.photos/id/1014/6016/4000.jpg" alt="" class="ui rounded image">
                                    </a>
                                </div>
                            </div>
                        </div>
                </div>
                <!--footer-->
                <div class="ui attached m-padded-lr-large segment">
                    <div class="ui middle aligned two column grid">
                        <div class="column">
                            <a href="#" class="ui mini teal basic button">上一页</a>
                        </div>
                        <div class="right aligned column">
                            <a href="#" class="ui mini teal basic button">下一页</a>
                        </div>
                    </div>
                </div>
            </div>
            <!--右边的top-->
            <div class="five wide column">
                <!--分类-->
                <div class="ui segments">
                    <div class="ui secondary segment">
                        <div class="ui two column grid">
                            <div class="column">
                                <i class="idea icon"></i>分类
                            </div>
                            <div class="right aligned column">
                                <a href="#" target="_blank">more<i class="angle double right icon"></i></a>
                            </div>
                        </div>
                    </div>
                    <div class="ui teal segment">
                        <div class="ui fluid vertical menu">
                            <a href="#" class="item">
                                学习日志
                                <div class="ui teal basic left pointing label">13</div>
                            </a>
                            <a href="#" class="item">
                                学习日志
                                <div class="ui teal basic left pointing label">13</div>
                            </a>
                            <a href="#" class="item">
                                学习日志
                                <div class="ui teal basic left pointing label">13</div>
                            </a>
                            <a href="#" class="item">
                                学习日志
                                <div class="ui teal basic left pointing label">13</div>
                            </a>
                            <a href="#" class="item">
                                学习日志
                                <div class="ui teal basic left pointing label">13</div>
                            </a>
                            <a href="#" class="item">
                                学习日志
                                <div class="ui teal basic left pointing label">13</div>
                            </a>
                        </div>
                    </div>
                </div>
                <!--标签-->
                <div class="ui segments m-margin-top-large">
                    <div class="ui secondary segment">
                        <div class="ui two column grid">
                            <div class="column">
                                <i class="tags icon"></i>标签
                            </div>
                            <div class="right aligned column">
                                <a href="#" target="_blank">more<i class="angle double right icon"></i></a>
                            </div>
                        </div>
                    </div>
                    <div class="ui teal segment">
                        <a href="#" target="_blank" class="ui teal basic left pointing label m-margin-tb-tiny">
                            方法论<div class="detail">23</div>
                        </a>
                        <a href="#" target="_blank" class="ui teal basic left pointing label m-margin-tb-tiny">
                            方法论<div class="detail">23</div>
                        </a>
                        <a href="#" target="_blank" class="ui teal basic left pointing label m-margin-tb-tiny">
                            方法论<div class="detail">23</div>
                        </a>
                        <a href="#" target="_blank" class="ui teal basic left pointing label m-margin-tb-tiny">
                            方法论<div class="detail">23</div>
                        </a>
                    </div>
                </div>
                <!--最新推荐-->
                <div class="ui segments m-margin-top-large">
                    <div class="ui secondary segment">
                        <i class="bookmark icon"></i>最新推荐
                    </div>
                    <div class="ui segment">
                        <a href="#" target="_blank" class="m-black m-text-thin">用户故事(user story)</a>
                    </div>
                    <div class="ui segment">
                        <a href="#" target="_blank" class="m-black m-text-thin">用户故事(user story)</a>
                    </div>
                    <div class="ui segment">
                        <a href="#" target="_blank" class="m-black m-text-thin">用户故事(user story)</a>
                    </div>
                    <div class="ui segment">
                        <a href="#" target="_blank" class="m-black m-text-thin">用户故事(user story)</a>
                    </div>
                </div>
                <!--二维码-->
                <h4 class="ui horizontal divider header m-margin-top-large">扫码关注我</h4>
                <div class="ui centered card" style="width:11em">
                    <img src="./static/images/WeChat.jpg" alt="" class="ui rounded image">
                </div>
            </div>
        </div>
    </div>
</div>

<!--底部-->
<footer class="ui inverted vertical segment m-padded-tb-massive">
    <div class="ui center aligned container">
        <div class="ui inverted divided stackable grid">
            <div class="three wide column">
                <div class="ui inverted link list">
                    <div class="item">
                        <img src="./static/images/WeChat.jpg" class="ui rounded image" alt="" style="width:110px">
                    </div>
                </div>
            </div>
            <div class="three wide column">
                <h4 class="ui inverted header" m-text-thin m-text-spaced m-opacity-mini>最新博客</h4>
                <div class="ui inverted link list">
                    <a href="#" class="item">用户故事</a>
                    <a href="#" class="item">练习清单</a>
                    <a href="#" class="item">失败要趁早</a>
                </div>
            </div>
            <div class="three wide column">
                <h4 class="ui inverted header" m-text-thin m-text-spaced m-opacity-mini>联系我</h4>
                <div class="ui inverted link list">
                    <a href="#" class="item">Email</a>
                    <a href="#" class="item">QQ</a>
                </div>
            </div>
            <div class="seven wide column">
                <h4 class="ui inverted header" m-text-thin m-text-spaced m-opacity-mini>最新博客</h4>
                <p class="m-text-thin m-text-spaced m-opacity-mini">这是我的个人博客</p>
            </div>
        </div>
        <div class="ui inverted section divider"></div>
        <p class="m-text-thin m-text-spaced m-opacity-mini">Copyright 2020</p>
    </div>

</footer>

<!--引入jQuery CDN方式-->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.2/dist/jquery.min.js"></script>
<!--引入semantic框架 CDN方式-->
<script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>

<script>
    $('.menu.toggle').click(function () {
        $('.m-item').toggleClass('m-mobile-hide')
    })
</script>

</body>
</html>

me.css

/*调整内边距(上下)*/
.m-padded-tb-mini{
    /* important提高它的优先级,来覆盖semantic中的设定 */
    padding-top: 0.2em !important;
    padding-bottom: 0.2em !important;
}
.m-padded-tb-tiny{
    padding-top: 0.3em !important;
    padding-bottom: 0.3em !important;
}
.m-padded-tb-small{
    padding-top: 0.5em !important;
    padding-bottom: 0.5em !important;
}
.m-padded-tb{
    padding-top: 1em !important;
    padding-bottom: 1em !important;
}
.m-padded-tb-large{
    padding-top: 2em !important;
    padding-bottom: 2em !important;
}
.m-padded-tb-big{
    padding-top: 3em !important;
    padding-bottom: 3em !important;
}
.m-padded-tb-huge{
    padding-top: 4em !important;
    padding-bottom: 4em !important;
}
.m-padded-tb-massive{
    padding-top: 5em !important;
    padding-bottom: 5em !important;
}

/*调整内边距(左右)*/
.m-padded-lr-large{
    padding-left: 2em !important;
    padding-right: 2em !important;
}

/*调整外边距*/
.m-margin-tb-tiny{
    margin-top: 0.3em !important;
    margin-bottom: 0.3em !important;
}
.m-margin-top-small{
    margin-top: 0.5em !important;
}
.m-margin-top{
    margin-top: 1em !important;
}
.m-margin-top-large{
    margin-top: 2em !important;
}

.m-right-top{
    position: absolute;
    top:0;
    right: 0;
}

/*字体变瘦*/
.m-text-thin{
    font-weight: 300 !important;
}

/*增大字间距*/
.m-text-spaced{
    letter-spacing: 1px !important;
}

/*增大行距*/
.m-text-lined{
    line-height: 1.8;
}

/*降低字体透明度*/
.m-opacity-mini{
    opacity: 0.8 !important;
}

/*字体设置整合*/
.m-text{
    font-weight: 300 !important;
    letter-spacing: 1px !important;
    line-height: 1.8;
    opacity: 0.8 !important;
}

/*使blok(原本是竖向)横向展示*/
.m-inline-block{
    display: inline-block !important;
}

/*自定义的container*/
.m-container{
    max-width:72em !important;
    margin:auto !important;
}

/*自定义颜色*/
.m-black{
    color: #333 !important;
}

.m-mobile-show{
    display: none !important;
}

/*在手机端的显示(当宽度小于768像素时)*/
@media screen and (max-width: 768px) {
    .m-mobile-hide{
        display: none !important;
    }
    .m-mobile-show{
        display: block !important;
    }
}

2.2.2笔记:

<!--移动端预览设置-->
<meta name="viewport" content="width=device-width,initial-scale=1.0">

meta标签:

  • 描述 HTML 文档的元数据,通常用于指定网页的描述,关键词,文件的最后修改时间,作者及其他元数据
  • 元数据不会显示在客户端,但是会被浏览器解析
  • meta标签通常位于head区域内
  • 实例 1 - 定义文档关键词,用于搜索引擎:
<meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">

实例 2 - 定义web页面描述:

<meta name="description" content="Free Web to learn HTML and CSS">

实例 3 - 定义页面作者:

<meta name="author" content="Hege">

实例 4 - 每30秒刷新页面:

<meta http-equiv="refresh" content="30">
  • 每个移动设备浏览器中都有一个理想的宽度,这个理想的宽度是指css中的宽度,跟设备的物理宽度没有关系,在css中,这个宽度就相当于100%的所代表的那个宽度。可以用meta标签把viewport的宽度设为那个理想的宽度,如果不知道这个设备的理想宽度是多少,那么用device-width这个特殊值就行了,同时initial-scale=1也有把viewport的宽度设为理想宽度的作用。
<!--导航-->
<nav class="ui inverted attached segment">
  • semantic常用组件segment,ui表示ui组件
  • inverted表示颜色反转
  • attached表示导航栏四个角没有圆角,依附在顶部
<a href="#" class="it【em"><i class="home icon"></i>首页</a>
  • a标签的href属性用于指定超链接目标的URL
  • a标签中必须提供 href 属性或 name 属性
<div class="ui container">
  • semantic自带的容器,有响应式效果,能根据屏幕尺寸展示最适应的效果
<img src="https://i.picsum.photos/id/1014/6016/4000.jpg" alt="" class="ui avatar image">
  • 设置一个图片作为圆形的头像
 <h4 class="ui horizontal divider header m-margin-top-large">扫码关注我</h4>
  • 实现一条横线,并在横线中间显示文字
<div class="ui inverted secondary stackable menu">
  • stackable使菜单、grid可以自适应,随着屏幕大小调整
 <div class="ui mobile reversed stackable grid">
      <div class="eleven wide column">
      </div>
      <div class="five wide column">
      </div>
  • mobile reversed在手机端会把11这列和下面5这列调换顺序显示
<!--导航-->
<a href="#" class="ui menu toggle black icon button m-right-top m-mobile-show">
       <i class="sidebar icon"></i>
   </a>

<script>
   $('.menu.toggle').click(function () {
       $('.m-item').toggleClass('m-mobile-hide')
   })
</script>
  • 当点击sidebar图标按钮时,显示手机端隐藏的内容,即有m-mobile-hide属性的内容
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值