zoukankan      html  css  js  c++  java
  • 分享一些优化博客的心得

    入住博客园已经有些时日,期间时不时地会捣鼓下博客的界面,或者增加些小demo,就像一件衣服穿久了会产生视觉疲劳一般,如果同样的博客界面看久了也会产生类似的疲劳~期间也进行过一些思考,比如如何布局,如何展现得比较得体等,在此我把一些小心得和大家分享。

    要不要导航栏?

    不久前我的博客是有导航栏的(如下图)

    曾经有人问我如何实现这个导航栏的,也就是一些基础的DOM操作(在页首代码中添加),

    $(document).ready(function(){
       var node = document.getElementById("navList");
       var childNode = node.getElementsByTagName('li');
       childNode[1].style.display = "none";
       childNode[5].style.display = "none";
       node.removeChild(childNode[5]);
       
       var  li_fe = document.createElement("li");
       li_fe.innerHTML = "<a href='http://www.cnblogs.com/MuYunyun/category/854172.html' class ='menu'>FE</a>";
       node.appendChild(li_fe);
    });

    有导航栏的优点还是蛮明显的,一目了然,点击方便,而且可以定制有个性的导航栏(比如增加钢琴音效、或者酷炫的3D效果),但是缺点就是显示的类目数量有限,所以想用导航栏的朋友得挑几个最重要的类目放上去,我个人有点强迫症,既然有数量限制,我就干脆不要导航栏了~,然后在左侧还是以DOM的形式插入几个关键的导航条目。

    功能特效和界面的平衡

    很多好的博客界面都比较清爽,因为界面的功能比较多的话就会喧宾夺主了,我之前的界面用了一些如下效果:

                 

    个人觉得,博客界面的特效不需要太多,偶尔的特效能增色,但是过多的特效就会让读者觉得进来不是看文章而是看特效了。

    我现在还保留着是一个下雪的特效,觉得其不会让读者分心,但是能给博客增色。代码片段如下(在页脚代码中添加):

    <!--下雪-->
    <script>
    (function($){$.fn.snow=function(options){var $flake=$('<div id="flake" />').css({'position':'absolute','top':'-50px'}).html('&#10052;'),documentHeight=$(document).height(),documentWidth=$(document).width(),defaults={minSize:10,maxSize:20,newOn:500,flakeColor:"#FFFFFF"},options=$.extend({},defaults,options);var interval=setInterval(function(){var startPositionLeft=Math.random()*documentWidth-100,startOpacity=0.5+Math.random(),sizeFlake=options.minSize+Math.random()*options.maxSize,endPositionTop=documentHeight-40,endPositionLeft=startPositionLeft-100+Math.random()*200,durationFall=documentHeight*10+Math.random()*5000;$flake.clone().appendTo('body').css({left:startPositionLeft,opacity:startOpacity,'font-size':sizeFlake,color:options.flakeColor}).animate({top:endPositionTop,left:endPositionLeft,opacity:0.2},durationFall,'linear',function(){$(this).remove()});},options.newOn);};})(jQuery);
    $.fn.snow({ minSize: 5, maxSize: 50, newOn: 1000, flakeColor: '#FFF' });
    </script>
    下雪代码

    它的缺点就是在移动端表现得不是特别好,会耗一定的性能。

    自适应移动端

    关于自适应移动端这点我感觉比较重要,毕竟有时候要分享某篇博文给朋友看。

    没有自适应之前:                                                             自适应后:

                                         

    关于自适应,之前也写过篇类似文章表单界面的兼容PC手机端解决方案,大体步骤总结下:

    • 用css自适应布局或者用js控制
    • 用media属性微调
    • 移动端的界面尽量简洁明了

    总结得比较简单,但是里面知识点还是蛮多的,比如自适应布局里的清楚浮动,flex布局等。总之我也只是初步完成自适应,可以优化的地方还有很多。

    TODO

    下一步有时间的话打算对编辑器部分进行优化,其实我还是蛮喜欢优化的过程的,不管或多或少,都会愈加接近自己的想法。

  • 相关阅读:
    面试题--十进制转换成2进制
    c++基础--如何将函数作为参数传递
    面试题--完全二叉树的的最后一层的最右节点
    数据库原理--故障恢复
    数据库原理--事务并发控制
    数据库原理--事务(一)
    数据库原理--1nf 2nf 3nf
    数据库原理--外键和主键
    数据库原理--函数依赖和范式
    人人都有极客精神
  • 原文地址:https://www.cnblogs.com/MuYunyun/p/6686123.html
Copyright © 2011-2022 走看看