markdown自动生成导航目录

2023-11-15

把这一段代码插入到markdown生成的HTML文件的head标签中,将会自动根据markdown的标题按级别生成导航目录

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
 //是否显示导航栏
 var showNavBar = true;
 //是否展开导航栏
 var expandNavBar = true;

 $(document).ready(function(){
    var h1s = $("body").find("h1");
    var h2s = $("body").find("h2");
    var h3s = $("body").find("h3");
    var h4s = $("body").find("h4");
    var h5s = $("body").find("h5");
    var h6s = $("body").find("h6");

    var headCounts = [h1s.length, h2s.length, h3s.length, h4s.length, h5s.length, h6s.length];
    var vH1Tag = null;
    var vH2Tag = null;
    for(var i = 0; i < headCounts.length; i++){
        if(headCounts[i] > 0){
            if(vH1Tag == null){
                vH1Tag = 'h' + (i + 1);
            }else{
                vH2Tag = 'h' + (i + 1);
            }
        }
    }
    if(vH1Tag == null){
        return;
    }

    $("body").prepend('<div class="BlogAnchor">' + 
        '<span style="color:red;position:absolute;top:-6px;left:0px;cursor:pointer;" onclick="$(\'.BlogAnchor\').hide();">×</span>' +
        '<p>' + 
            '<b id="AnchorContentToggle" title="收起" style="cursor:pointer;">目录▲</b>' + 
        '</p>' + 
        '<div class="AnchorContent" id="AnchorContent"> </div>' + 
    '</div>' );

    var vH1Index = 0;
    var vH2Index = 0;
    $("body").find("h1,h2,h3,h4,h5,h6").each(function(i,item){
        var id = '';
        var name = '';
        var tag = $(item).get(0).tagName.toLowerCase();
        var className = '';
        if(tag == vH1Tag){
            id = name = ++vH1Index;
            name = id;
            vH2Index = 0;
            className = 'item_h1';
        }else if(tag == vH2Tag){
            id = vH1Index + '_' + ++vH2Index;
            name = vH1Index + '.' + vH2Index;
            className = 'item_h2';
        }
        $(item).attr("id","wow"+id);
        $(item).addClass("wow_head");
        $("#AnchorContent").css('max-height', ($(window).height() - 180) + 'px');
        $("#AnchorContent").append('<li><a class="nav_item '+className+' anchor-link" onclick="return false;" href="#" link="#wow'+id+'">'+name+" · "+$(this).text()+'</a></li>');
    });

    $("#AnchorContentToggle").click(function(){
        var text = $(this).html();
        if(text=="目录▲"){
            $(this).html("目录▼");
            $(this).attr({"title":"展开"});
        }else{
            $(this).html("目录▲");
            $(this).attr({"title":"收起"});
        }
        $("#AnchorContent").toggle();
    });
    $(".anchor-link").click(function(){
        $("html,body").animate({scrollTop: $($(this).attr("link")).offset().top}, 500);
    });

    var headerNavs = $(".BlogAnchor li .nav_item");
    var headerTops = [];
    $(".wow_head").each(function(i, n){
        headerTops.push($(n).offset().top);
    });
    $(window).scroll(function(){
        var scrollTop = $(window).scrollTop();
        $.each(headerTops, function(i, n){
            var distance = n - scrollTop;
            if(distance >= 0){
                $(".BlogAnchor li .nav_item.current").removeClass('current');
                $(headerNavs[i]).addClass('current');
                return false;
            }
        });
    });

    if(!showNavBar){
        $('.BlogAnchor').hide();
    }
    if(!expandNavBar){
        $(this).html("目录▼");
        $(this).attr({"title":"展开"});
        $("#AnchorContent").hide();
    }
 });
</script>
<style>
    /*导航*/
    .BlogAnchor {
        background: #f1f1f1;
        padding: 10px;
        line-height: 180%;
        position: fixed;
        right: 48px;
        top: 48px;
        border: 1px solid #aaaaaa;
    }
    .BlogAnchor p {
        font-size: 18px;
        color: #15a230;
        margin: 0 0 0.3rem 0;
        text-align: right;
    }
    .BlogAnchor .AnchorContent {
        padding: 5px 0px;
        overflow: auto;
    }
    .BlogAnchor li{
        text-indent: 0.5rem;
        font-size: 14px;
        list-style: none;
    }
    .BlogAnchor li .nav_item{
        padding: 3px;
    }
    .BlogAnchor li .item_h1{
        margin-left: 0rem;
    }
    .BlogAnchor li .item_h2{
        margin-left: 2rem;
        font-size: 0.8rem;
    }
    .BlogAnchor li .nav_item.current{
        color: white;
        background-color: #5cc26f;
    }
    #AnchorContentToggle {
        font-size: 13px;
        font-weight: normal;
        color: #FFF;
        display: inline-block;
        line-height: 20px;
        background: #5cc26f;
        font-style: normal;
        padding: 1px 8px;
    }
    .BlogAnchor a:hover {
        color: #5cc26f;
    }
    .BlogAnchor a {
        text-decoration: none;
    }
</style>

在MarkdownPad2中,可以通过菜单->工具->选项->高级->HTML head编辑器来自动插入以上代码。

生成的html

result.html

<!DOCTYPE html>
<html>
<head>
<title>示例</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
}

/* BODY
=============================================================================*/

body {
  font-family: Helvetica, arial, freesans, clean, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
  padding: 20px;
  max-width: 960px;
  margin: 0 auto;
}

body>*:first-child {
  margin-top: 0 !important;
}

body>*:last-child {
  margin-bottom: 0 !important;
}

/* BLOCKS
=============================================================================*/

p, blockquote, ul, ol, dl, table, pre {
  margin: 15px 0;
}

/* HEADERS
=============================================================================*/

h1, h2, h3, h4, h5, h6 {
  margin: 20px 0 10px;
  padding: 0;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
}

h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {
  font-size: inherit;
}

h1 {
  font-size: 28px;
  color: #000;
}

h2 {
  font-size: 24px;
  border-bottom: 1px solid #ccc;
  color: #000;
}

h3 {
  font-size: 18px;
}

h4 {
  font-size: 16px;
}

h5 {
  font-size: 14px;
}

h6 {
  color: #777;
  font-size: 14px;
}

body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {
  margin-top: 0;
  padding-top: 0;
}

a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
  margin-top: 0;
  padding-top: 0;
}

h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {
  margin-top: 10px;
}

/* LINKS
=============================================================================*/

a {
  color: #4183C4;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* LISTS
=============================================================================*/

ul, ol {
  padding-left: 30px;
}

ul li > :first-child, 
ol li > :first-child, 
ul li ul:first-of-type, 
ol li ol:first-of-type, 
ul li ol:first-of-type, 
ol li ul:first-of-type {
  margin-top: 0px;
}

ul ul, ul ol, ol ol, ol ul {
  margin-bottom: 0;
}

dl {
  padding: 0;
}

dl dt {
  font-size: 14px;
  font-weight: bold;
  font-style: italic;
  padding: 0;
  margin: 15px 0 5px;
}

dl dt:first-child {
  padding: 0;
}

dl dt>:first-child {
  margin-top: 0px;
}

dl dt>:last-child {
  margin-bottom: 0px;
}

dl dd {
  margin: 0 0 15px;
  padding: 0 15px;
}

dl dd>:first-child {
  margin-top: 0px;
}

dl dd>:last-child {
  margin-bottom: 0px;
}

/* CODE
=============================================================================*/

pre, code, tt {
  font-size: 12px;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
}

code, tt {
  margin: 0 0px;
  padding: 0px 0px;
  white-space: nowrap;
  border: 1px solid #eaeaea;
  background-color: #f8f8f8;
  border-radius: 3px;
}

pre>code {
  margin: 0;
  padding: 0;
  white-space: pre;
  border: none;
  background: transparent;
}

pre {
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  font-size: 13px;
  line-height: 19px;
  overflow: auto;
  padding: 6px 10px;
  border-radius: 3px;
}

pre code, pre tt {
  background-color: transparent;
  border: none;
}

kbd {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background-color: #DDDDDD;
    background-image: linear-gradient(#F1F1F1, #DDDDDD);
    background-repeat: repeat-x;
    border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD;
    border-image: none;
    border-radius: 2px 2px 2px 2px;
    border-style: solid;
    border-width: 1px;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    line-height: 10px;
    padding: 1px 4px;
}

/* QUOTES
=============================================================================*/

blockquote {
  border-left: 4px solid #DDD;
  padding: 0 15px;
  color: #777;
}

blockquote>:first-child {
  margin-top: 0px;
}

blockquote>:last-child {
  margin-bottom: 0px;
}

/* HORIZONTAL RULES
=============================================================================*/

hr {
  clear: both;
  margin: 15px 0;
  height: 0px;
  overflow: hidden;
  border: none;
  background: transparent;
  border-bottom: 4px solid #ddd;
  padding: 0;
}

/* TABLES
=============================================================================*/

table th {
  font-weight: bold;
}

table th, table td {
  border: 1px solid #ccc;
  padding: 6px 13px;
}

table tr {
  border-top: 1px solid #ccc;
  background-color: #fff;
}

table tr:nth-child(2n) {
  background-color: #f8f8f8;
}

/* IMAGES
=============================================================================*/

img {
  max-width: 100%
}
</style>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
 //是否显示导航栏
 var showNavBar = true;
 //是否展开导航栏
 var expandNavBar = true;

 $(document).ready(function(){
    var h1s = $("body").find("h1");
    var h2s = $("body").find("h2");
    var h3s = $("body").find("h3");
    var h4s = $("body").find("h4");
    var h5s = $("body").find("h5");
    var h6s = $("body").find("h6");

    var headCounts = [h1s.length, h2s.length, h3s.length, h4s.length, h5s.length, h6s.length];
    var vH1Tag = null;
    var vH2Tag = null;
    for(var i = 0; i < headCounts.length; i++){
        if(headCounts[i] > 0){
            if(vH1Tag == null){
                vH1Tag = 'h' + (i + 1);
            }else{
                vH2Tag = 'h' + (i + 1);
            }
        }
    }
    if(vH1Tag == null){
        return;
    }

    $("body").prepend('<div class="BlogAnchor">' + 
        '<span style="color:red;position:absolute;top:-6px;left:0px;cursor:pointer;" onclick="$(\'.BlogAnchor\').hide();">×</span>' +
        '<p>' + 
            '<b id="AnchorContentToggle" title="收起" style="cursor:pointer;">目录▲</b>' + 
        '</p>' + 
        '<div class="AnchorContent" id="AnchorContent"> </div>' + 
    '</div>' );

    var vH1Index = 0;
    var vH2Index = 0;
    $("body").find("h1,h2,h3,h4,h5,h6").each(function(i,item){
        var id = '';
        var name = '';
        var tag = $(item).get(0).tagName.toLowerCase();
        var className = '';
        if(tag == vH1Tag){
            id = name = ++vH1Index;
            name = id;
            vH2Index = 0;
            className = 'item_h1';
        }else if(tag == vH2Tag){
            id = vH1Index + '_' + ++vH2Index;
            name = vH1Index + '.' + vH2Index;
            className = 'item_h2';
        }
        $(item).attr("id","wow"+id);
        $(item).addClass("wow_head");
        $("#AnchorContent").css('max-height', ($(window).height() - 180) + 'px');
        $("#AnchorContent").append('<li><a class="nav_item '+className+' anchor-link" onclick="return false;" href="#" link="#wow'+id+'">'+name+" · "+$(this).text()+'</a></li>');
    });

    $("#AnchorContentToggle").click(function(){
        var text = $(this).html();
        if(text=="目录▲"){
            $(this).html("目录▼");
            $(this).attr({"title":"展开"});
        }else{
            $(this).html("目录▲");
            $(this).attr({"title":"收起"});
        }
        $("#AnchorContent").toggle();
    });
    $(".anchor-link").click(function(){
        $("html,body").animate({scrollTop: $($(this).attr("link")).offset().top}, 500);
    });

    var headerNavs = $(".BlogAnchor li .nav_item");
    var headerTops = [];
    $(".wow_head").each(function(i, n){
        headerTops.push($(n).offset().top);
    });
    $(window).scroll(function(){
        var scrollTop = $(window).scrollTop();
        $.each(headerTops, function(i, n){
            var distance = n - scrollTop;
            if(distance >= 0){
                $(".BlogAnchor li .nav_item.current").removeClass('current');
                $(headerNavs[i]).addClass('current');
                return false;
            }
        });
    });

    if(!showNavBar){
        $('.BlogAnchor').hide();
    }
    if(!expandNavBar){
        $(this).html("目录▼");
        $(this).attr({"title":"展开"});
        $("#AnchorContent").hide();
    }
 });
</script>
<style>
    /*导航*/
    .BlogAnchor {
        background: #f1f1f1;
        padding: 10px;
        line-height: 180%;
        position: fixed;
        right: 48px;
        top: 48px;
        border: 1px solid #aaaaaa;
    }
    .BlogAnchor p {
        font-size: 18px;
        color: #15a230;
        margin: 0 0 0.3rem 0;
        text-align: right;
    }
    .BlogAnchor .AnchorContent {
        padding: 5px 0px;
        overflow: auto;
    }
    .BlogAnchor li{
        text-indent: 0.5rem;
        font-size: 14px;
        list-style: none;
    }
    .BlogAnchor li .nav_item{
        padding: 3px;
    }
    .BlogAnchor li .item_h1{
        margin-left: 0rem;
    }
    .BlogAnchor li .item_h2{
        margin-left: 2rem;
        font-size: 0.8rem;
    }
    .BlogAnchor li .nav_item.current{
        color: white;
        background-color: #5cc26f;
    }
    #AnchorContentToggle {
        font-size: 13px;
        font-weight: normal;
        color: #FFF;
        display: inline-block;
        line-height: 20px;
        background: #5cc26f;
        font-style: normal;
        padding: 1px 8px;
    }
    .BlogAnchor a:hover {
        color: #5cc26f;
    }
    .BlogAnchor a {
        text-decoration: none;
    }
</style>
</head>
<body>
<h1>这是一级标题</h1>
<p>生命里,一些缱绻,无论素净,还是喧哗,都已经被岁月赋予了清喜的味道,一些闲词,或清新,或淡雅,总会在某一个回眸的时刻醉了流年,濡湿了柔软的心,冥冥之中,我们沿着呼唤的风声,终于在堆满落花的秋里,再次重逢,念在天涯,心在咫尺,我相信,一米阳光,才是我们最好的距离。 </p>
<h2>这是二级标题</h2>
<p> 缘起是诗,缘离是画,这些关于岁月,关于记忆的章节,终会被时光搁置在无法触及的红尘之外,曾经,你我一别经年,可风里,总有一段美丽会与我们不期而遇,一盏琉璃,半杯心悦,端然着那一份醉人的静,这安静行走的流年,总会被过往赋予一份清喜,一份浪漫。</p>
<h2>这是二级标题2</h2>
<p>  或许,习惯了着布衣素颜,让清心若雪,不喜张扬,不畏喧哗,守着一怀自己的素韵安静,在自己心中的半亩桃源,修篱种菊,喜欢与山水相依,与流水对话,让文字的墨香,依附在心灵的每一个角落,也喜欢,在闲时,端坐时光一隅,将一本书读到无字,将一盏茶喝到无味,将一个故事看到流泪.……心染尘香,不须有多少的柔情话语去讲,只要能够念起,便是一份温暖。</p>
<h1>这是一级标题2</h1>
<h2>这是二级标题</h2>
<p></p>

<h2>这是二级标题2</h2>
<p>再打开记忆的栅栏,取一壶往昔,与流年对坐,情有多深,心就有多疼,触不到的可惜,在挥手袖的风里滋养着忧伤,捻一缕清芬,看三千浮华,历历往事,素淡清雅,研一池墨香,植于眉心,相遇如梦,一直充满虔诚的无暇,这个十月,我用满怀的深情,打开文字的苍白,灵动的心事,穿过岁月的轩窗,迎面而来,我未曾离开,为何不见了原来这世间的繁华与葱笼?是时光的无情,还是流年容易沧桑,让所有的一切都如逝水匆匆,去了遥远的天涯?</p>

<h2>这是二级标题3</h2>
<p>从此,我只想,淡泊一份宁静,让心中盈满诗意,只为赴你早就许下的盟誓,你不来,我怎么会轻易离开?一直,我喜欢叶落的静美,梦想着有一天和你一起看云水长天。我说:我韶华已老,岁月早已沧桑,已习惯了静默着独舞忧伤,然,这一眼凝眸,却注定得一世相随!或许我会静静陪你看一生的细水长流。</p>
<h1>这是一级标题3</h1>
<h1>这是一级标题2</h1>
<h2>这是二级标题</h2>
<p>  静默,看一场烟花如何绚烂自己的一生,忽然发现,我的梦想,有些什么已悄然变了,呼出的想念里,夏已调谢,秋已深浓,空气里有雨过的清新,却让秋沾染了好些沧桑的凉。一场花开的邂逅,静美了多少无言的守望?一帘烟雨的轮回,成全了多少天涯的相依?梦里天涯,许多人,终要忘记;许多事,总会随风,那些忧伤和叹息的深夜,依然会被突如其来的喧嚣触痛,我的星月,我的花开,曾经悄然用心铭刻,却也被时光的沙漏,渐渐滤去最初的繁华。</p>

<h2>这是二级标题2</h2>
<p>我知道,那些关怀,那些温暖,你均是悄悄的给予,既已懂得,何须多言?!就让这份静美,永留心间。感谢岁月赠予我的这一份恩宠,亦感谢你让我途径你生命的四季,陪我走过的这一程山水,那么美。遇见,已是很美。就让我借一程云淡风轻。掬一捧水月在手,沾岁月的花香满衣。慎重在相逢的渡口写下:回忆有你,真是精彩。未来很美,许我和你一起笑对!可好?其实,情早已经入心,不要问,情深缘浅;不要说,相见恨晚。遇见已是很美,我们何须追问那些雨的印记,那些相伴的理由?一直想对你说:如果时光不老,情不会改变,如果你愿,我便放下所有矜持,携一颗琉璃素心,陪你静看一生最美的日落烟霞。</p>

<h2>这是二级标题3-别样心情,回首时光</h2>
<p>曾,一个人在山顶,远远的看着夕阳,泛着微红的天空渐渐褪去,那边是夕阳,古人说:夕阳无限好,只是近黄昏。只是当时从不觉得那是美景,境界不同,无从体会。而回忆中,嫣然那般短暂急促。</p>

<h1>这是一级标题4-你的孤独,虽败犹荣</h1>
<h2>这是二级标题</h2>
<p>  关于工作。都说这是一个最好的时代,对于这个最好时代的歌颂不绝于耳,听得多了,我们也就信了,磨刀霍霍,挽起袖子都准备大干一场。人类能够生存至今,靠的就是永不停歇的改变创新,摈弃不好的,留取好的,永远不停止去挖掘那些美好的事物。社会文明发展至今,告诉我们:一般来说所有的人要生存就要工作,因为工作了才有钱呀!有了钱才能有吃有喝呀!有吃有喝才不会饿死呀!所以到了年龄需发自内心怒吼一声:我要工作,我要赚钱,我要赚很多的钱。工作了,像一般人一样工作了,终于感慨到这年头想赚两个钱真容易呀!想赚更多的钱真不是那么容易呀!当然,有付出才会有收获嘛!你想赚更多的钱不得付出同等的时间和精力,这很公平嘛!如果你内心没有对物质的渴望,如果你只想混吃等死,如果你无欲无求,那你可以不付出,但是相对应的你的收获,你的钱袋子也就没有那么多。万事万物从来都没有不劳而获,就算是那个守在那里免费逮了只兔子的人好歹也付出了时间精力守那了不是吗?</p>

<h2>这是二级标题2-最好的我们隔着逝去的青春陌生</h2>
<p>江山易老,红颜不醉,缱绻的微风凭添了几分惆怅。一时,一世,不断的思考着,诉说着,苦了,痛了,累了,耗尽最后一丝心力,争什么呢?当帷幕落下,谁又是会记得谁?</p>

<h2>这是二级标题3-一世安然,不负流觞</h2>
<p>山无陵,江水为竭,冬雷阵阵,夏雨雪,天地合,乃敢与君绝。可是世界末日还没有到来,我们就已渐行渐远,以至于我看不到你的背影,后来你说,一纸红颜岂值倾尽天下。清明雨上,油纸伞下,谁与谁戏言了三千韶华,时光殆尽,蓦然回首,你不再是我的谁,不再是我一生的执著、</p>

<h1>这是一级标题5-原来,灯火阑珊处空无一人</h1>
<p>浮华的一生,有的人有些事,哭着哭着都忘了,走着走着也就散了,仅留下的,也只是年华过后,故地重游,风兮兮,水易寒,谁人的笙歌婉转,叫我忆起往事,可是,这时谁还会记得谁呢,被想起的那个人是幸福的,而再也记不起的那人谁懂她的泪又沾襟、</p>


</body>
</html>

html运行结果如图:

这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

markdown自动生成导航目录 的相关文章

  • CSS Font-Face url 不起作用?

    我在使用 font face 选择器时遇到了一些问题 我有以下问题 font face font family MuseoSans 700 src url http mysite co uk clients reload Images st
  • 使网格项跨越到隐式网格中的最后一行/列

    当我不知道行数时 是否可以使网格项跨度从第一行到最后一行 假设我有以下 HTML 内容 其中包含未知数量的框 我怎样才能做到第三个 box从第一条网格线到最后一条网格线 container display grid grid templat
  • 有没有办法根据渲染的字符串创建 DOM 对象?

    有没有办法从整个字符串而不只是innerHTML 创建DOM 对象 我有一个完整呈现的 DOM 形式的字符串
  • 如何从 Javascript/Typescript 中的数组对象计算运行总计并使用 HTML 在每个实例上显示输出?

    我正在开发一个 MEAN 堆栈项目 并且有一个如下所示的数组 savings any 300 450 350 500 我还有一个名为 saving bf 的变量 它是从数据库中检索的结转储蓄 其值如下 savings bf 15000 我想
  • 如何在 HTML 表格上使用分页?

    我正在尝试使用这个分页library http flaviusmatis github io simplePagination js 在我的 HTML 表格页面 特别是浅色主题 中 但不知何故 我无法理解如何在我的 HTML 页面中以这种方
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 以 HTML 格式发送电子邮件

    我想发送 HTML 格式的电子邮件 如下图所示 我怎样才能做到这一点 请帮我 提前致谢 String body new String table tr td br header td tr br br Get b Best Score b
  • CSS 动画自定义属性/变量

    一段时间以来我一直在努力让它发挥作用 关键是内部 div 将具有某种形状 并且可能会不止一个 这就是为什么我使用nth child选择器 这个内部 div 应该显示然后再次隐藏一段时间 问题是 我想在一个动画中为所有 后来的 多个内部 di
  • 在React组件中使用的字符串变量中插入html

    我正在为我的投资组合网站构建一个反应应用程序 目前我已经用 JSX 编写了应用程序 因此我可以添加以下内容 class Project extends React Component render return div h1 this pr
  • SELECT 元素中的图像[重复]

    这个问题在这里已经有答案了 我知道如何使用 CSS 背景图像属性让图片显示在 HTML 下拉表单元素中的选项旁边 但是 图像不会显示在所选元素上 有什么方法可以做到这一点 最好只使用CSS EDIT 这是列表元素的工作代码的示例 但是 当下
  • Img srcset 和尺寸属性

    我正在尝试制作一个简单的网站img标签 将使用新的srcset属性 主要思想是根据屏幕分辨率更改图像 src 工作示例 http pixelteam pl surprise some files index html 问题在于sizes 正
  • 如何在禁用的 HTML 按钮上呈现工具提示

    我有一个 HTML 按钮 我尝试根据按钮的 标题 属性在其上渲染工具提示 但它没有渲染 主要是因为它被禁用了 然后 我尝试将按钮包装在跨度中并设置跨度的 标题 属性 将鼠标悬停在包含在跨度中的按钮上仍然没有效果 工具提示将呈现在不属于按钮标
  • 需要正则表达式(使用 C#)将所有空白压缩为单个空白

    我需要将文档中的多个空格替换为单个空格 每次迭代 无论它们是空格 制表符还是换行符 任何类型的空格的任何组合都需要被截断为单个空格 假设我们有字符串 Hello t t n t n world 其中 t 和 n 分别代表制表符和换行符 那么
  • 数据表“footerCallback”函数未在页脚中显示结果

    我尝试获取每列的总和并将结果显示在页脚中 我在用着 页脚回调 https datatables net reference option footerCallbackDatatables提供的功能 但是它在页脚中没有显示任何内容 数据表解释
  • 更改 CSS 网格中的列顺序

    我正在研究 CSS 网格 当我在桌面尺寸上查看它时 min width 769px 我有单行三列 像这样的事情 col 1 col 2 col 3 我可以使用 css grid 移动列 以便我可以在移动布局上执行类似以下操作吗 col 1
  • 当表格在 IE 中获得焦点时,表格滚动条会向上跳跃

    问题 我有一个table有包装的div with overflow y auto 一旦table获得焦点 滚动条向上跳 我怎样才能防止这种情况发生 我经历过这种行为IE9 不在 Chrome 中 请注意 我已添加tabindex到桌子上 以
  • CSS:如何在模糊的背景上剪切文本?

    我想重新创建以下样式 我想出了以下内容 问题是剪切不会影响模糊滤镜 我不知道如何解决它 这是我的 HTML 代码 glass width 40 height 100 position absolute background rgba 255
  • 阻止通过 GET 传递“提交”按钮值?

    我正在尝试通过 GET 传递表单信息 这很重要 这样人们就可以将表单选择中过滤后的数据发送给其他人 问题是 使用下面的代码 它不仅传递过滤器信息 还传递提交表单值 如下所示 index php month filter Feb year f
  • 左对齐图像和居中文本在 div 内的同一级别?

    HTML br div class UpperTitle img src align left CableSolve Web Dashboard Version 0 1 1 div br CSS UpperTitle text align
  • div 之间的额外空间从何而来?

    http www lethalmonk6 byethost24 com index html http www lethalmonk6 byethost24 com index html 如果您使用 firebug 检查 项目链接 div

随机推荐

  • Python 文件读取的4种方式

    对于Python程序员来说 读取文件是一项基本操作 Python提供了多种读取文件的方式 以下是其中的4种常用方式 1 使用 open 函数和 read 方法 使用 open 函数和 read 方法是最基本的文件读取方式 它可以读取整个文件
  • mysql中的/、div的区别

    运算符为实数除 其运算的结果为实型 div为整除 该运算符只取商的整数部分 而不会四舍五入 网上说要求除数和被除数均为整形 经我测试 网上的说法有误 mysql gt select 100 22 div 2 1 100 22 div 2 1
  • WinServer 2012 R2 AD 组策略 将域用户加入本地管理员组

    需求 域用户shihua ma添加入到本地管理员组 先查看本地管理员组 net localgroup administrators 通过以上得知 shihua ma这个域用户不在本地管理员组 下面介绍如何将域用户自动加入到本地管理员组 一
  • C语言_函数递归举例

    1 递归和非递归分别实现求第n个斐波那契数 求第 n 个斐波那契数 include
  • 使用vscode如何建立vue模板

    目标 我们希望每次新建 vue文件后 VSCODE能够根据配置 自动生成我们想要的内容 方法 打开VSCODE编辑器 依次选择 文件 gt 首选项 gt 用户代码片段 此时 会弹出一个搜索框 我们输入vue 如下 选择vue后 VSCODE
  • 十、Fiddler抓包工具详细教程 — AutoResponder应用场景

    文章内容有配套的 学习视频和笔记都放在了文章末尾 简单介绍几个应用场景 场景一 生产环境的请求重定向到本地文件 验证结果 例如 某网站或者系统修改了问题 但尚未更新到生产环境 可重定向到本地修改后的文件进行验证 这样能够避免更新到生产环境后
  • JAVASCRIPT使用参考

    JS参考手册 https www w3school com cn jsref index asp 几点注意 JavaScript是一门客户端轻量级脚本语言 它运行在客户端的浏览器中 每一个浏览器都有JavaScript的解析引擎 脚本语言
  • Flink---1、概述、快速上手

    1 Flink概述 1 1 Flink是什么 Flink的官网主页地址 https flink apache org Flink的核心目标是 数据流上有状态的计算 Stateful Computations over Data Stream
  • OpenHarmony之Ubuntu22.04执行hb set报错

    错误提示 最近在使用Ubuntu22 04搭建OpenHarmony编译环境 在执行hb set命令选择开发板时出现如下报错 详细log如下 fangye fangye virtual machine niobeu4 src hb set
  • 分了很多节的word文档,使用尾注插入的参考文献,最后怎么在参考文献之后加入致谢?

    转自 点击打开链接 需要设置一下 1 设置尾注的位置 引用 脚注 按这个功能区分组右下角的功能展开按钮 调出 脚注和尾注 设置对话框 在 位置 下 尾注 后选择 节的结尾 2 从第一节开始分别取消各节的 尾注 直到 参考文献 这节 页面布局
  • 在Docker容器中部署整套基于Spring Cloud的微服务架构,看这篇就对了!

    本文以mall swarm项目为例 主要介绍一个微服务架构的电商项目如何在Docker容器下部署 涉及到大量系统组件的部署及多个Spring Cloud 微服务应用的部署 基于CentOS7 6 环境搭建 基础环境部署 mall swarm
  • vue 写的登录页面

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 登录页面 二 使用步骤 1 引入库 前言 提示 以下是本篇文章正文内容 下面案例可供参考 一 登录页面 1 用element ui或者用iView组件都可
  • Denoising Diffusion Probabilistic Models简介

    目录 概要 前向过程 nice property 逆向过程 参数推导 简化 渐进式编码 Progressive coding 参考资料 概要 Denoising Diffusion Probabilistic Model DDPM 是一个生
  • echarts 部分含义

    xAxis xAxis show true 是否显示x轴 position top x轴的位置 top bottom type category 坐标轴类型 value category time log name 姓名 坐标轴名称 nam
  • C++ opencv 将图片分为任意N等分,并保存所有子图片于本地

    C opencv 将图片分为任意N等分 并保存所有子图片于本地 第一次写博客 格式不对之处 请原谅 include
  • Java 项目的跨库的方式查询的方法

    Java 项目的跨库的方式查询的方法 目录 概述 需求 设计思路 实现思路分析 性能参数测试 参考资料和推荐阅读 Survive by day and develop by night talk for import biz show yo
  • 藏经阁(九)触摸屏驱动芯片XPT2046 解析

    文章目录 一 前言 二 XPT2046的介绍 1 先看其内部框图 2 引脚图和应用原理图 3 参考电压 4 通信时序 一 前言 XPT2046可以作为12位的4通道输入的ADC来使用 也可以作为4线电阻触摸屏的驱动芯片来使用 下面介绍作为触
  • 图像识别-YOLO V8安装部署-window-CPU-Pycharm

    前言 安装过程中发现 YOLO V8一直在更新 现在是2023 9 20的版本 已经和1月份刚发布的不一样了 eg 目录已经变了 旧版预测 在ultralytics yolo v8 下detect 新版 ultralytics models
  • 目前国内电子地图产业链

    目前国内电子地图产业链 从最上游开始依次共有数据类 软件类 互联网及移动互联网服务类3大环节 细分4大链条 转播到腾讯微博 其中 第一环节和第三个环节 都需要牌照 第一环节中的地图数据采集商 如高德 四维获得行业甲级牌照后 方能具备从事采集
  • markdown自动生成导航目录

    把这一段代码插入到markdown生成的HTML文件的head标签中 将会自动根据markdown的标题按级别生成导航目录