bluevoyage的专栏

我向往淡蓝色的未来 我体味淡蓝色的静谧 我永远都要争取机会 我希翼创造光彩未来!

姓名ID:bluevoyage
[修改头像]
121019次访问,排名555好友0人,关注者0
bluevoyage的文章
原创 124 篇
翻译 3 篇
转载 2 篇
评论 240 篇
BlueVoyage的公告
月 [下月] [上月]
http://www.hrtsea.com/bbs/Images/fish.swf">http://www.hrtsea.com/bbs/Images/fish.swf">http://www.hrtsea.com/bbs/Images/fish.swf">http://www.hrtsea.com/bbs/Images/fish.swf">http://www.hrtsea.com/bbs/Images/fish.swf">http://www.hrtsea.com/bbs/Images/fish.swf">

天气预报

最近评论
hacklew1985:还不错
mosquitowenzi:觉得科蓝公司咋样?科蓝公司的技术如何?
QQ爱:没我棒
消费下:我的妈妈啊 烂作文啊 我太伤脑筋了啊 我实在是 不知道杂写啊 这样是在浪费我的时间啊 我烦 啊~!~!~!~!~!~~!~~!~~!~!~!~!~!~!~我找的东西就是没有啊 叫 我杂办 啊 老师问我的时候我没有写那杂办 啊 星期一就要交 啊 大哥啊 我!~!~!~!~!~!~!~!~!~!多不知道说些什么啊 有关于2008年的银川 就告诉我啊 谢谢了啊 !~!~!~!~!~!~!~!我实在……
小飞猪:有谁交偶写
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes
文章分类
收藏
    相册
    bluevoyage
    实用工具
    CSDN搜索
    IP查询手机号查询
    万年历
    神州龙地图
    收藏
    CSDN--模式应用和实例专题
    IT写作社区
    wiki.csdn.net
    www.cnblogs.com
    blogers of csdn
    Java Project & Python
    毒药的写字本子
    blogers of smth.org
    听着音乐,学着java
    index of blogers of smth.org
    Java服务器开发之路
    冷萧寒@Blogging-Java
    最新的J2EE新闻和技术文档
    电脑技术,学习历程
    被人类社会放大的差异
    corp.
    ibm.com : Java 专区
    www.oracle.com/cn/
    赛迪网 -软件与服务: 产业透视
    赛迪网 -软件与服务: 新闻观察
    group
    UML软件工程组织
    上海软件在线
    全国双软认定
    OTHERS
    广 告 狂 热 者
    TAOUP初译稿
    ngnr的专栏
    博文视点书友论坛
    程序无间道
    袁德俊的专栏
    tech.
    BBS 水木清华站Blog目录
    ChinaJavaWorld.com技术论坛
    java摘录笔记
    Java研究组织
    Matrix-与Java共舞
    microsoft.com/china/MSDN/
    Oracle Corp. Java 开发中心
    springframework.org
    SpringFramework中文论坛
    www.qca.cn
    松耦合空间
    赛迪网>技术天地>精彩专题
    网站设计与开发
    网页设计师
    蓝色理想
    存档

    原创 我的Blog定制效果和方法

    新一篇: 每个.Net开发人员应该下载的十种必备工具

     

    不知道大家觉得我的Blog的效果怎么样:) 我个人感觉还不错哦,hoho!仿照微软的主页做的一点点修改,主要使用了DOM和CSS。

    关于如何添加JS代码和自定义CSS,很多人的blog里面都有了,我就不说了。

    下面是我自己的修改过程,一一说来,供大家分享,写的不好别扔我:)

    我选用的皮肤是:marvin2。

    首先是添加一个顶部的导航菜单,我把原来左侧最上面的My Links的内容放到了导航菜单里面,并且自己自定义了几个链接。

    通过分析页面的源文件,我们可以看出marvin2的布局基本上是这样的:

    <form>
        <div id="top"></div>
        <div id="menu"></div>
        <div id="leftmenu">
          <h3>My Links</h3>
          <ul>
            <li></li>
          </ul>
        </div>
        <div id="main">
          <p class="date"></p>
          <div class="post">
            <h2></h2>
            <p class="postfoot"></p>
          </div>
        </div>
        <p id="footer"></p>
    </form>
    

    通过JavaScript使用DOM属性和方法操纵文档内容,就可以改变最后的效果了:

    <SCRIPT>
      // 定位到左边菜单节点
      var left = document.getElementById("leftmenu");
      // 创建一个新的div节点
      var menu = document.createElement("div");
      // 设置该div节点的ID为menu,为了在css中定义其样式
      menu.setAttribute("id", "menu");
      // 重写div节点里面的内容,我去掉了xml的小图标,添加了两个链接
      menu.innerHTML = '<ul><li><a id="MyLinks1_HomeLink" href="/myhan/">Home</a></li><li><a id="MyLinks1_ContactLink" accesskey="9" HREF="/myhan/contact.aspx">Contact</a></li><li><a id="MyLinks1_Syndication" href="http://blog.njmars.com/myhan/Rss.aspx">Syndication</a></li><li><a id="njmars" href="http://blog.njmars.com/myhan/">blog.njmars!</a></li><li><a id="csdn" HREF="/">blog.csdn!</a></li><li><a id="MyLinks1_Admin" HREF="/myhan/admin/default.aspx">Admin</a></li></ul>';
      // 关键:left.parentNode就是form了,使用insertBefore()方法在节点left之前插入新的节点
      left.parentNode.insertBefore(menu, left);
    </script>
    

    所以之后页面的布局实际上就成了这样子的了:

    <form>
        <div id="top"></div>
        <div id="menu"></div>
        <div id="leftmenu">
          <h3>My Links</h3>
          <ul>
            <li></li>
          </ul>
        </div>
        <div id="main">
          <p class="date"></p>
          <div class="post">
            <h2></h2>
            <p class="postfoot"></p>
          </div>
        </div>
        <p id="footer"></p>
    </form>
    

    然后我继续通过JS使用DOM操纵页面,将左侧原来的My Links内容去掉,然后将左侧几项的顺序调换一下。代码如下:

    <script>
    // 修改和交换左侧一栏的内容
    function swapleft()
    {
      // 这个if判断页面是否已经下载完毕,因为这段代码放在News栏目里面,显示的较leftmenu的其他内容要早
      // 如果直接之行下面的代码的话,会有错误产生。
      // 我使用定时器不断的检查,知道页面全部下载完毕之后,在之行下面的内容:)
      if (document.getElementById("footer")) {
          // 定位到左侧菜单节点
          var left = document.getElementById("leftmenu");
          // 通过left对象的childNodes属性得到<div id="leftmenu"></div>这个节点里面的内容,如<h3></h3>和<ul></ul>
          // list 是一个数组
          // 注意 <h3>和<ul>是同一级别的节点,而项目<li>是<ul>的子节点。
          var list = left.childNodes;
          // 对left的字节进行操作
          // 使用removeNode方法,将该节点删除。
          list[0].removeNode(true);
          list[0].removeNode(true);     // 注意,这个节点本来是list[1],但是上面删除了list[0],这个就变成了list[0]了。
          list[0].swapNode(list[2]);    // 交换节点,将节点的顺序换掉。
          list[1].swapNode(list[3]);
          list[2].swapNode(list[5]);
          list[3].swapNode(list[6]);
          list[5].swapNode(list[9]);
          list[6].swapNode(list[10]);
          list[0].innerText = "心语";   // 修改节点的文字内容
          list[9].innerText = "状态";
      } else {
          setTimeout("swapleft();", 30);
      }
    }
    setTimeout("swapleft();", 30);
    </script>
    

    随后我还添加了一个计数器,可以看到我的计数器显示的位置是一个独立的小栏里面,我一样还是使用DOM,动态的添加了这个玩意:

    <script>
    function addcounter() 
    {
      var cnt_po   = document.getElementById("leftmenu");
      var cnt_h3   = document.createElement("h3");  // 依次创建节点
      var cnt_ul   = document.createElement("ul");
      var cnt_div  = document.createElement("div");
      var cnt_img  = document.createElement("img");
      cnt_h3.innerText = "计数";        //设置属性
      cnt_img.setAttribute("src", "http://nmc2.jy.js.cn/cgi-bin/counter.pl?id=njmars_myhan&md=a11&ln=6&from=1000&bd=$0;$0;$0");
      cnt_img.setAttribute("align", "absmiddle");
      cnt_div.setAttribute("align", "center");
      cnt_div.appendChild(cnt_img);     // 依次将节点一个一个的附加上去 :) 注意顺序哦
      cnt_ul.appendChild(cnt_div);
      cnt_po.appendChild(cnt_h3);
      cnt_po.appendChild(cnt_ul);
    }
    setTimeout("addcounter();", 40);    // 等会儿,差不多页面下载完毕之后,执行之!    
    </script>
    

    关于DOM的其他更为详细的讲解,请参看这里:http://tjian.myrice.com/study_data/script-2/1.htm

    至于页面的其他样式的定制修改,就是样式表的功劳了,请看我的样式表内容,我就不一一解释了。

    我的css:

    /* 要想完全使用自己定义的样式表,防止默认的样式表对自己的定义样式产生影响, */
    /* 可以将默认样式表里面的内容全部拿过来,对每一个属性都重新定义,不要遗漏哦 */
    BODY {
      MARGIN: 0px; BACKGROUND-COLOR: #fbfbfb;
      FONT-SIZE: 0.9em; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif;
    }
    A, A:visited, A:active, A:link {
      COLOR: #00f; TEXT-DECORATION: none;
    }
    A:hover {
      COLOR: black; TEXT-DECORATION: none;
    }
    H1 {
      FONT-SIZE: 1.5em; MARGIN: 0px;
    }
    H1 A:visited {
      COLOR: #000;
    }
    H1 A:active {
      COLOR: #000;
    }
    H1 A:link {
      COLOR: #000;
    }
    H1 A:hover {
      COLOR: #47f; TEXT-DECORATION: none;
    }
    H2 {
      FONT-SIZE: 1em; margin-top: 0px; padding-left: 0px;
    }
    H3 {
      FONT-SIZE: 1.2em; BORDER-BOTTOM: #aaa 1px solid
    }
    H5 {
      PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
    }
    P {
      MARGIN: 10px 0px
    }
    BLOCKQUOTE {
      FONT-STYLE: italic
    }
    INPUT.text {
      WIDTH: 300px
    }
    TEXTAREA {
      WIDTH: 300px; HEIGHT: 200px
    }
    /* 这里的filter产生一个渐进的背景效果, 参数gradientType 为 1 则是横向的渐进,0 则为纵向的渐进,更详细的内容请参看 MSDN*/
    #top {
      PADDING: 10px; BORDER:0px; BACKGROUND-COLOR: #fff; COLOR: #fff; HEIGHT: 100%; FILTER: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#0A6CCE', endColorStr='#FFFFFF', gradientType='1');
    }
    #top H1 {
      PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px
    }
    #top H1 A {
      COLOR: #fff;
    }
    #tagline {
      MARGIN: 0px; PADDING: 5px; FONT-SIZE: 10px; COLOR: #fff;
    }
    #menu {
      BORDER-TOP: #999 1px solid; FONT-SIZE: 100%; BACKGROUND-COLOR: #f1f1f1; PADDING-BOTTOM: 2px; MARGIN: 0px; PADDING-TOP: 2px; BORDER-BOTTOM: #999 1px solid
    }
    #menu UL {
      height: 100%; FONT-size: 100%; COLOR: black; TEXT-DECORATION: none; MARGIN: 0px; PADDING: 0px; border: 0px; LIST-STYLE-TYPE: none;
    }
    #menu LI {
      height: 100%; FONT-SIZE: 100%; BORDER-RIGHT: #a9a9a9 1px solid; PADDING-RIGHT: 2px; DISPLAY: inline; PADDING-LEFT: 2px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px;
    }
    #menu li a {
      height:100%; FONT: 75% Verdana; COLOR: black; TEXT-DECORATION: none;
    }
    /* 这里对导航菜单的链接样式做了设计,产生类似微软网站的效果,我只使用css,没有用js操作 */
    #menu LI A {
      border: 1px #f1f1f1 solid; padding-left: 8px; padding-right: 8px; padding-top:1px; padding-bottom:1px; margin: 0px; background-color: #f1f1f1; COLOR: black; TEXT-DECORATION: none; 
    }
    #menu LI A:hover {
      border: 1px #999 solid; padding-left: 8px; padding-right: 8px; padding-top:1px; padding-bottom:1px; margin: 0px; background-color: #ccc; COLOR: black; TEXT-DECORATION: none;
    }
    #MyLinks1_XMLLink {
      VISIBILITY: hidden; width: 0px; height: 0px; padding: 0px; margin: 0px;
    }
    #MyLinks1_XMLLink IMG {
      VISIBILITY: hidden; width: 0px; height: 0px; padding: 0px; margin: 0px;
    }
    #leftmenu {
      MARGIN: 0px; margin-top: 10px; LEFT: 10px; padding: 0px;  WIDTH: 180px; POSITION: absolute;
    }
    #leftmenu H3 {
      FONT-SIZE: 0.9em; BORDER: #999 1px solid; BORDER-BOTTOM: 0px; HEIGHT: 100%; MARGIN: 0px; PADDING: 5px; FILTER: progid:DXImageTransform.Microsoft.Gradient(endColorstr='#ffffff', startColorstr='#4992DB', gradientType='0'); 
    }
    #leftmenu UL {
      FONT-SIZE: 0.8em; LIST-STYLE-TYPE: none; PADDING: 4px; BORDER: #999 1px solid; MARGIN: 0px; MARGIN-BOTTOM: 10px;
    }
    #leftmenu LI A {
      COLOR: black; TEXT-DECORATION: none;
    }
    #leftmenu LI A:hover {
      COLOR: black; TEXT-DECORATION: underline;
    }
    #main {
      PADDING: 10px; MARGIN-LEFT: 200px; BORDER: 0px; BORDER-LEFT: #999 1px solid; BORDER-BOTTOM: #999 4px solid; BACKGROUND-COLOR: #ffffff;
    }
    #main P.date {
      FONT-WEIGHT: bold; FONT-SIZE: 0.9em; BORDER: #999 1px solid; BORDER-BOTTOM: none; PADDING-top: 4px; padding-bottom: 4px; padding-left: 5px; padding-right: 5px; MARGIN: 0px; HEIGHT: 100%; FILTER: progid:DXImageTransform.Microsoft.Gradient(endColorstr='#4992DB', startColorstr='#FFFFFF', gradientType='1'); 
    }
    #main P.date IMG {
      VERTICAL-ALIGN: middle
    }
    #main DIV.post {
      BORDER: #999 1px solid; PADDING: 5px; MARGIN: 0px 0px 10px;  
    }
    #main A, A:hover, A:visited {
      COLOR: #700;
    }
    #main P.postfoot {
      FONT-SIZE: 0.75em; PADDING: 0px; PADDING-TOP: 5px; PADDING-BOTTOM: 2px; MARGIN: 10px 0px 0px; BORDER-TOP: #999 1px dotted;
    }
    #relatedlinks UL {
      PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN-LEFT: 10px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
    }
    #comments {
      MARGIN-BOTTOM: 10px; COLOR: #700
    }
    #comments H3 {
      COLOR: #700
    }
    #comments H4 {
      FONT-SIZE: 0.9em; MARGIN: 0px
    }
    #comments H4 SPAN {
      COLOR: #999;
    }
    #comments P {
      BORDER-BOTTOM: #dddddd 1px solid
    }
    #comments P A {
      FONT-SIZE: 9px; COLOR: darkblue
    }
    
    #footer {
      FONT-SIZE: 0px; VISIBILITY: hidden; MARGIN: 0px; PADDING: 0px; HEIGHT: 0px; TEXT-ALIGN: center
    }
    #footer IMG {
      VISIBILITY: hidden; WIDTH: 0px; HEIGHT: 0px
    }
    #div_list P {
      FONT-SIZE: 12px
    }
    #div_list IMG {
      BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
    }
    #imageFrame DIV.div_image {
      MARGIN-TOP: 20px; TEXT-ALIGN: center
    }
    #imageFrame DIV.div_link {
      TEXT-ALIGN: center
    }
    #commentform TABLE {
      BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px
    }
    #commentform TD {
      BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px
    }
    #commentform TR {
      BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px
    }
    #main DIV.cus_code {
      COLOR: #465584; FONT-SIZE: 12px; FONT-FAMILY: Courier New;BORDER: #000000 1px solid;BORDER-LEFT: #666666 6px solid; PADDING-LEFT: 0px 0px 0px 0px;MARGIN: 10px 20px;BACKGROUND-COLOR: #ffffff;
    }
    

    发表于 @ 2004年08月13日 01:51:00|评论(loading...)|编辑

    旧一篇: RMI规范(6) --(10)

    评论

    #yyStudio 发表于2004-11-15 16:17:00  IP:
    TrackBack来自《改造blog》

    Ping Back来自:blog.csdn.net
    #roger 发表于2006-02-17 12:07:00  IP: 211.100.21.*
    TrackBack来自《网友们总结使用blog的各种技巧和经验》

    使用CSDN Blog过程中,网友们总结的各种技巧和经验
    #慕容剑秋 发表于2004-09-09 09:28:00  IP: 61.153.237.*
    不错。。学习一下!
    #鹤诗 发表于2004-09-15 10:26:00  IP: 218.16.247.*
    有点不懂,加在哪里呢?
    #Johnnie 发表于2004-10-20 22:58:00  IP: 202.158.184.*
    修改Dom的那段比较精彩
    #大名 发表于2005-01-27 00:13:00  IP: 219.136.191.*
    垃圾
    #LamyGoolge 发表于2005-02-19 19:17:00  IP: 218.79.175.*
    如何改变最上面标题的大小 和添加图片?
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © BlueVoyage