额外 CSS 由 JSFiddle 提供

Extra CSS supplied by JSFiddle

我正在尝试复制 this JSFiddle,但似乎 JSFiddle 正在注入一些额外的 CSS,这导致副本显示与 JSFiddle 上的版本不同。

如何使副本看起来像 JSFiddle 结果?

我尝试复制 <iframe> 的源代码,但没有成功。

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Demo of simple tabs without jQuery UI - jsFiddle demo by syahrasi</title>


    <script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>

    <link rel="stylesheet" type="text/css" href="/css/normalize.css">


    <link rel="stylesheet" type="text/css" href="/css/result-light.css">

    <style type='text/css'>
      body {
        padding: 20px;
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1.5;
        font-size: 14px;        
      }

      .tabs-menu {
        height: 30px;
        float: left;
        clear: both;
      }

      .tabs-menu li {
        height: 30px;
        line-height: 30px;
        float: left;
        margin-right: 10px;
        background-color: #ccc;
        border-top: 1px solid #d4d4d1;
        border-right: 1px solid #d4d4d1;
        border-left: 1px solid #d4d4d1;
      }

      .tabs-menu li.current {
        position: relative;
        background-color: #fff;
        border-bottom: 1px solid #fff;
        z-index: 5;
      }

      .tabs-menu li a {
        padding: 10px;
        text-transform: uppercase;
        color: #fff;
        text-decoration: none; 
      }

      .tabs-menu .current a {
        color: #2e7da3;
      }

      .tab {
        border: 1px solid #d4d4d1;
        background-color: #fff;
        float: left;
        margin-bottom: 20px;
        width: auto;
      }

      .tab-content {
        width: 660px;
        padding: 20px;
        display: none;
      }

      #tab-1 {
        display: block;   
      }

    </style>




    <script type='text/javascript'>//<![CDATA[
      $(window).load(function(){
        $(document).ready(function() {
          $(".tabs-menu a").click(function(event) {
            event.preventDefault();
            $(this).parent().addClass("current");
            $(this).parent().siblings().removeClass("current");
            var tab = $(this).attr("href");
            $(".tab-content").not(tab).css("display", "none");
            $(tab).fadeIn();
          });
        });
      });//]]> 

    </script>

  </head>
  <body>
    <div id="tabs-container">
      <ul class="tabs-menu">
        <li class="current"><a href="#tab-1">Tab 1</a></li>
        <li><a href="#tab-2">Tab 2</a></li>
        <li><a href="#tab-3">Tab 3</a></li>
        <li><a href="#tab-4">Tab 4</a></li>
      </ul>
      <div class="tab">
        <div id="tab-1" class="tab-content">
          <p>Lorem ipsum dolor....</p>
        </div>
        <div id="tab-2" class="tab-content">
          <p>Donec semper dictum.... </p>

        </div>
        <div id="tab-3" class="tab-content">
          <p>Duis egestas fermentum.... </p>
        </div>
        <div id="tab-4" class="tab-content">
          <p>Proin sollicitudin tincidunt.... </p>
        </div>
      </div>
    </div>

  </body>

</html>

这是您丢失的三个 CSS 文件:

http://jsfiddle.net/css/normalize.css

http://jsfiddle.net/css/result-light.css

http://jsfiddle.net/css/embedded-light.css?update10082015

将它们复制到您的项目文件夹中,从链接中删除相对 URL 的“/css/”部分:

<link rel="stylesheet" type="text/css" href="normalize.css">
<link rel="stylesheet" type="text/css" href="result-light.css">

而且,不需要双重换行 window.load 和 document.ready:

<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$(document).ready(function() {
    $(".tabs-menu a").click(function(event) {
        event.preventDefault();
        $(this).parent().addClass("current");
        $(this).parent().siblings().removeClass("current");
        var tab = $(this).attr("href");
        $(".tab-content").not(tab).css("display", "none");
        $(tab).fadeIn();
    });
});
});//]]> 

</script>

应该是:

<script type='text/javascript'>
$(document).ready(function() {
    $(".tabs-menu a").click(function(event) {
        event.preventDefault();
        $(this).parent().addClass("current");
        $(this).parent().siblings().removeClass("current");
        var tab = $(this).attr("href");
        $(".tab-content").not(tab).css("display", "none");
        $(tab).fadeIn();
    });
});
</script>

这可能不是唯一的问题,而是一个起点。

首先,不要试图复制 JSFiddle 的源代码,你可以,但它是相对于 JSFiddle 的渲染源代码。

其次,您应该查看边栏中的包含项。所以我们看到我们有 JQuery 1.7.2 和 normalize.css。从软件包维护者那里获取那些,而不是从第三方那里获取,并将它们包含在文档的头部。

第三,在文档头部的样式标签中包含 CSS,然后在正文中包含 HTML。 JavaScript 应该包含在主体末尾的脚本标记中,这样您就不需要文档就绪包装器。

对 CSS 进行了一些修改以从浮动切换到内联块,删除了列表的一些边距和项目符号。瞧瞧!

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>JS Bin</title>
    <script src="https://code.jquery.com/jquery-1.7.2.min.js"></script>
    <link rel="stylesheet" href="https://necolas.github.io/normalize.css/3.0.2/normalize.css" />
    <style>
      body {
        padding: 20px;
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1.5;
        font-size: 14px;        
      }

      .tabs-menu {
        height: 30px;
        margin: 0;
      }

      .tabs-menu li {
        height: 30px;
        line-height: 30px;
        display: inline-block;
        margin-right: 10px;
        background-color: #ccc;
        border-top: 1px solid #d4d4d1;
        border-right: 1px solid #d4d4d1;
        border-left: 1px solid #d4d4d1;
      }

      .tabs-menu li.current {
        position: relative;
        background-color: #fff;
        border-bottom: 0px;
      }

      .tabs-menu li a {
        padding: 10px;
        text-transform: uppercase;
        color: #fff;
        text-decoration: none; 
      }

      .tabs-menu .current a {
        color: #2e7da3;
      }

      .tab {
        border: 1px solid #d4d4d1;
        background-color: #fff;
        float: left;
        margin-bottom: 20px;
        width: auto;
      }

      .tab-content {
        width: 660px;
        padding: 20px;
        display: none;
      }

      #tab-1 {
        display: block;   
      }
    </style>
  </head>
  <body>
    <div id="tabs-container">
      <ul class="tabs-menu">
        <li class="current"><a href="#tab-1">Tab 1</a></li>
        <li><a href="#tab-2">Tab 2</a></li>
        <li><a href="#tab-3">Tab 3</a></li>
        <li><a href="#tab-4">Tab 4</a></li>
      </ul>
      <div class="tab">
        <div id="tab-1" class="tab-content">
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sit amet purus urna. Proin dictum fringilla enim, sit amet suscipit dolor dictum in. Maecenas porttitor, est et malesuada congue, ligula elit fermentum massa, sit amet porta odio est at velit. Sed nec turpis neque. Fusce at mi felis, sed interdum tortor. Nullam pretium, est at congue mattis, nibh eros pharetra lectus, nec posuere libero dui consectetur arcu. Quisque convallis facilisis fermentum. Nam tincidunt, diam nec dictum mattis, nunc dolor ultrices ipsum, in mattis justo turpis nec ligula. Curabitur a ante mauris. Integer placerat imperdiet diam, facilisis pretium elit mollis pretium. Sed lobortis, eros non egestas suscipit, dui dui euismod enim, ac ultricies arcu risus at tellus. Donec imperdiet congue ligula, quis vulputate mauris ultrices non. Aliquam rhoncus, arcu a bibendum congue, augue risus tincidunt massa, vel vehicula diam dolor eget felis.</p>
        </div>
        <div id="tab-2" class="tab-content">
          <p>Donec semper dictum sem, quis pretium sem malesuada non. Proin venenatis orci vel nisl porta sollicitudin. Pellentesque sit amet massa et orci malesuada facilisis vel vel lectus. Etiam tristique volutpat auctor. Morbi nec massa eget sem ultricies fermentum id ut ligula. Praesent aliquet adipiscing dictum. Suspendisse dignissim dui tortor. Integer faucibus interdum justo, mattis commodo elit tempor id. Quisque ut orci orci, sit amet mattis nulla. Suspendisse quam diam, feugiat at ullamcorper eget, sagittis sed eros. Proin tortor tellus, pulvinar at imperdiet in, egestas sed nisl. Aenean tempor neque ut felis dignissim ac congue felis viverra. </p>

        </div>
        <div id="tab-3" class="tab-content">
          <p>Duis egestas fermentum ipsum et commodo. Proin bibendum consectetur elit, hendrerit porta mi dictum eu. Vestibulum adipiscing euismod laoreet. Vivamus lobortis tortor a odio consectetur pulvinar. Proin blandit ornare eros dictum fermentum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur laoreet, ante aliquet molestie laoreet, lectus odio fringilla purus, id porttitor erat velit vitae mi. Nullam posuere nunc ut justo sollicitudin interdum. Donec suscipit eros nec leo condimentum fermentum. Nunc quis libero massa. Integer tempus laoreet lectus id interdum. Integer facilisis egestas dui at convallis. Praesent elementum nisl et erat iaculis a blandit ligula mollis. Vestibulum vitae risus dui, nec sagittis arcu. Nullam tortor enim, placerat quis eleifend in, viverra ac lacus. Ut aliquam sapien ut metus hendrerit auctor dapibus justo porta. </p>
        </div>
        <div id="tab-4" class="tab-content">
          <p>Proin sollicitudin tincidunt quam, in egestas dui tincidunt non. Maecenas tempus condimentum mi, sed convallis tortor iaculis eu. Cras dui dui, tempor quis tempor vitae, ullamcorper in justo. Integer et lorem diam. Quisque consequat lectus eget urna molestie pharetra. Cras risus lectus, lobortis sit amet imperdiet sit amet, eleifend a erat. Suspendisse vel luctus lectus. Sed ac arcu nisi, sit amet ornare tellus. Pellentesque nec augue a nibh pharetra scelerisque quis sit amet felis. Nullam at enim at lacus pretium iaculis sit amet vel nunc. Praesent sapien felis, tincidunt vitae blandit ut, mattis at diam. Suspendisse ac sapien eget eros venenatis tempor quis id odio. Donec lacus leo, tincidunt eget molestie at, pharetra cursus odio. </p>
        </div>
      </div>
    </div>
    <script>
      $(".tabs-menu a").click(function(event) {
          event.preventDefault();
          $(this).parent().addClass("current");
          $(this).parent().siblings().removeClass("current");
          var tab = $(this).attr("href");
          $(".tab-content").not(tab).css("display", "none");
          $(tab).fadeIn();
      });
    </script>
  </body>
</html>