可视化网站教程:最流行的搭建工具及必学的7个功能

摘 要

记得刚进大学的时候,一位教授说大学里有十件必学的事情,其中有一件是:学会做网站。无论你是学什么的,像数据可视化,演示简历、作品或产品,都需要前端的知识。虽然目前有各种前端语言,像Vue, React, Angular等等,样式也是有sass, scss, less等等,但是浏览器的工作原理以及基础决定了我们还是要学好HTML+CSS+Javascript,才能更好地使用前端工具。

一、建站工具

前端低代码的发展为我们提供了很多好用的建站工具,Ofter为大家推荐几个免费的最佳实践。

工具 编程要求 适用类型 参考示例 备注
1 wordpress 网站/博客 https://demo.styledthemes.com/styledstore/ 免费,安装插件,拖拽即可,可付费插件
2 docsify 文档教程 https://docsify.js.org/#/zh-cn/ 免费,好多Github上文档教程都用这个
3 dumi 网站/博客/教程 https://d.umijs.org/zh-CN 免费,umi制作成的Demo
4 umi - ant design landing 网站/博客(首页) https://motion.ant.design/index-cn 免费,主要面向网站首页
5 gatsby 相对高 网站/博客/教程 https://brittanychiang.com/ 免费,定制程度相对高

注:wordpress虽然不需要编程基础,但是使用过程有很多限制,不能100%按照自己的想法定制,插件太多也会影响性能。

二、前端开发工具

前端的开发软件还挺多,大家可以按照个人喜好,这里就列几个常用的:

  • Vscode
  • sublime text
  • pycharm
  • Webstorm
  • HBuilder

三、功能列表

今天,Ofter以常用的功能为例,来教大家做一个完整的网站。如果是0基础的,可以先了解下div+css+flex布局,参看:学会用HTML-flex布局,制作漂亮的网页

1. 网页模板(导航栏、广告栏、底部)

首先,我们可以去素材网站下载一个自己喜欢的模板(可以自行搜索模板,Ofter提供一个平台供参考 https://sc.chinaz.com/moban/)。我们主要挑选下导航栏、横幅广告栏和底部是否满足要求,其他部分基本上需要删掉重写。Ofter以下图这个为例:

在开发工具中,结构如下图:

2. 轮播图(Swiper组件)

轮播图的实现需要写Javascript,大家也不要觉得难,Ofter为大家推荐一个JS组件Swiper。

链接:https://www.swiper.com.cn/usage/index.html

按照使用方法,一步步操作就可以实现,Ofter也贴上代码供参考(test.htm)。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="static/css/bootstrap.min.css">
    <link rel="stylesheet" href="static/css/swiper.min.css">
    <link rel="stylesheet" href="static/css/timePicker.css">
    <!-- template styles -->
    <link rel="stylesheet" href="static/css/izeetak.css">
</head>


<body>
<div class="page-wrapper">
    <!--Main Slider Start-->
    <section class="main-slider">
        <div class="swiper-container thm-swiper__slider" data-swiper-options='{"slidesPerView": 1, "loop": true,
    "effect": "fade",
     "pagination": {
        "el": "#main-slider-pagination",
        "type": "bullets",
        "clickable": true
      },
    "autoplay": {
        "delay": 5000
    }}'>
            <div class="swiper-wrapper">
                <div class="swiper-slide">
                    <div class="image-layer" style="background-image: url(static/image/of1.png);">
                    </div>
                    <div class="image-layer-overlay"></div>
                    <!-- /.image-layer -->
                    <div class="container">
                        <div class="row">
                            <div class="col-lg-8">
                                <div class="main-slider__content">
                                    <h2>免费 - 高效</h2>
                                    <p>Ofter是一个免费学习数据科学的平台</p>
                                    <a href="about.html" class="thm-btn">更 多</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="swiper-slide">
                    <div class="image-layer" style="background-image: url(static/image/of2.png);">
                    </div>
                    <div class="image-layer-overlay"></div>
                    <!-- /.image-layer -->
                    <div class="container">
                        <div class="row">
                            <div class="col-lg-8">
                                <div class="main-slider__content">
                                    <h2>免费 - 高效</h2>
                                    <p>Ofter是一个免费学习数据科学的平台</p>
                                    <a href="about.html" class="thm-btn">更 多</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="swiper-slide">
                    <div class="image-layer" style="background-image: url(static/image/of3.png);">
                    </div>
                    <div class="image-layer-overlay"></div>
                    <!-- /.image-layer -->


                    <div class="container">
                        <div class="row">
                            <div class="col-lg-8">
                                <div class="main-slider__content">
                                    <h2>免费 - 高效</h2>
                                    <p>Ofter是一个免费学习数据科学的平台</p>
                                    <a href="about.html" class="thm-btn">更 多</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <!-- If we need navigation buttons -->
            <!-- 如果需要分页器 -->
            <div class="swiper-pagination" id="main-slider-pagination"></div>
        </div>
    </section>
    <!--Main Slider End-->
</div><!-- /.page-wrapper -->
<script src="static/js/swiper-bundle.min.js"></script>
<!-- template js -->
<script>
    var mySwiper = new Swiper('.thm-swiper__slider', {
        loop: true, // 循环模式选项
        pagination: {
            el: "#main-slider-pagination",
            type: "bullets",
            clickable: true
        },
        autoplay: {
            delay: 5000
        },       
        // 如果需要前进后退按钮
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        },
        // 如果需要滚动条
        scrollbar: {
            el: '.swiper-scrollbar',
        },
    })
</script>
</body>
</html>

3. 悬浮定位

当某个网页内容比较多,做一个内部导航会提升用户的体验。

//导航代码
<a href="#get"><span>◈ Get</span></a>
//内容代码
<a name="get">Get to Know About us</a>

4. 回到顶部

回到顶部的功能一定是必须的,这里就说下怎么写Javascript。Javascript与HTML内容的绑定,可以通过id或class,js中用getElementById或getElementByclassName(vue/react/angular中也如此)。

<a href="#" id="myBtn" data-target="html" class="scroll-to-target scroll-to-top"><i class="fa fa-angle-up"></i></a>
<script type="text/javascript">
    window.onscroll = function () {
        scrollFunction()
    };
    function scrollFunction() {
        console.log(121);
        if (document.body.scrollTop > 200 || document.documentElement.scrollTop > 200) {
            document.getElementById("myBtn").style.display = "block";
        } else {
            document.getElementById("myBtn").style.display = "none";
        }
    }
</script>

5. 视频

<video width="800" controls>
    <source src="static/picture/bg-video.mp4" type="video/mp4">
</video>

6. 文件在线阅读和下载

//文件在线阅读
<a href="static/picture/python工程师技能图谱.pdf" target="_blank">
    <img src="static/picture/python1.jpg" width="300" height="400" alt="python"/>
</a>
//文件下载
<a href="static/picture/python工程师技能图谱.pdf" download="static/picture/python工程师技能图谱.pdf">
    <img class="file_text_icon" src="static/picture/download.png" alt="下载icon">
    <p class="file_text_font">
        Python工程师
    </p>
</a>

7. 终端兼容

网站在各浏览器,PC/Mobile端的兼容性也很重要,否则,用户打开网站时就会出现看不到内容,或布局错乱的界面。我们可以用@media监控浏览器的尺寸,实时更新css样式。

@media (max-width: 991px) {
    .sidebar {
        margin-top: 50px;
    }
}

四、代码资源

若需要源代码,请查看下方(或评论处)方法免费获取。

猜你喜欢

转载自blog.csdn.net/weixin_42341655/article/details/123606753