2015-08-25 81 views
0

如何將我的CSS樣式錶鏈接到我的html文件。我使用rails來生成應用程序,但文件結構仍然很混亂。我有一個資產樣式表的目錄,但我不知道如何鏈接它們。這裏是我的index.html文件看起來像:如何將CSS文件鏈接到我在Rails中的視圖?

<!DOCTYPE html> 
<html lang="en"> 

<head> 

    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <meta name="description" content=""> 
    <meta name="author" content=""> 

    <title>Stylish Portfolio - Start Bootstrap Theme</title> 

    <!-- Bootstrap Core CSS --> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 

    <!-- Custom CSS --> 
    <link href="css/stylish-portfolio.css" rel="stylesheet"> 

    <!-- Custom Fonts --> 
    <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> 
    <link href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css"> 

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 
    <!--[if lt IE 9]> 
     <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> 
     <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> 
    <![endif]--> 

</head> 

<body> 

    <!-- Navigation --> 
    <a id="menu-toggle" href="#" class="btn btn-dark btn-lg toggle"><i class="fa fa-bars"></i></a> 
    <nav id="sidebar-wrapper"> 
     <ul class="sidebar-nav"> 
      <a id="menu-close" href="#" class="btn btn-light btn-lg pull-right toggle"><i class="fa fa-times"></i></a> 
      <li class="sidebar-brand"> 
       <a href="#top" onclick = $("#menu-close").click(); >Start Bootstrap</a> 
      </li> 
      <li> 
       <a href="#top" onclick = $("#menu-close").click(); >Home</a> 
      </li> 
      <li> 
       <a href="#about" onclick = $("#menu-close").click(); >About</a> 
      </li> 
      <li> 
       <a href="#services" onclick = $("#menu-close").click(); >Services</a> 
      </li> 
      <li> 
       <a href="#portfolio" onclick = $("#menu-close").click(); >Portfolio</a> 
      </li> 
      <li> 
       <a href="#contact" onclick = $("#menu-close").click(); >Contact</a> 
      </li> 
     </ul> 
    </nav> 

    <!-- Header --> 
    <header id="top" class="header"> 
     <div class="text-vertical-center"> 
      <h1>Start Bootstrap</h1> 
      <h3>Free Bootstrap Themes &amp; Templates</h3> 
      <br> 
      <a href="#about" class="btn btn-dark btn-lg">Find Out More</a> 
     </div> 
    </header> 

    <!-- About --> 
    <section id="about" class="about"> 
     <div class="container"> 
      <div class="row"> 
       <div class="col-lg-12 text-center"> 
        <h2>Stylish Portfolio is the perfect theme for your next project!</h2> 
        <p class="lead">This theme features some wonderful photography courtesy of <a target="_blank" href="http://join.deathtothestockphoto.com/">Death to the Stock Photo</a>.</p> 
       </div> 
      </div> 
      <!-- /.row --> 
     </div> 
     <!-- /.container --> 
    </section> 

    <!-- Services --> 
    <!-- The circle icons use Font Awesome's stacked icon classes. For more information, visit http://fontawesome.io/examples/ --> 
    <section id="services" class="services bg-primary"> 
     <div class="container"> 
      <div class="row text-center"> 
       <div class="col-lg-10 col-lg-offset-1"> 
        <h2>Our Services</h2> 
        <hr class="small"> 
        <div class="row"> 
         <div class="col-md-3 col-sm-6"> 
          <div class="service-item"> 
           <span class="fa-stack fa-4x"> 
           <i class="fa fa-circle fa-stack-2x"></i> 
           <i class="fa fa-cloud fa-stack-1x text-primary"></i> 
          </span> 
           <h4> 
            <strong>Service Name</strong> 
           </h4> 
           <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> 
           <a href="#" class="btn btn-light">Learn More</a> 
          </div> 
         </div> 
         <div class="col-md-3 col-sm-6"> 
          <div class="service-item"> 
           <span class="fa-stack fa-4x"> 
           <i class="fa fa-circle fa-stack-2x"></i> 
           <i class="fa fa-compass fa-stack-1x text-primary"></i> 
          </span> 
           <h4> 
            <strong>Service Name</strong> 
           </h4> 
           <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> 
           <a href="#" class="btn btn-light">Learn More</a> 
          </div> 
         </div> 
         <div class="col-md-3 col-sm-6"> 
          <div class="service-item"> 
           <span class="fa-stack fa-4x"> 
           <i class="fa fa-circle fa-stack-2x"></i> 
           <i class="fa fa-flask fa-stack-1x text-primary"></i> 
          </span> 
           <h4> 
            <strong>Service Name</strong> 
           </h4> 
           <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> 
           <a href="#" class="btn btn-light">Learn More</a> 
          </div> 
         </div> 
         <div class="col-md-3 col-sm-6"> 
          <div class="service-item"> 
           <span class="fa-stack fa-4x"> 
           <i class="fa fa-circle fa-stack-2x"></i> 
           <i class="fa fa-shield fa-stack-1x text-primary"></i> 
          </span> 
           <h4> 
            <strong>Service Name</strong> 
           </h4> 
           <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</p> 
           <a href="#" class="btn btn-light">Learn More</a> 
          </div> 
         </div> 
        </div> 
        <!-- /.row (nested) --> 
       </div> 
       <!-- /.col-lg-10 --> 
      </div> 
      <!-- /.row --> 
     </div> 
     <!-- /.container --> 
    </section> 

    <!-- Callout --> 
    <aside class="callout"> 
     <div class="text-vertical-center"> 
      <h1>Vertically Centered Text</h1> 
     </div> 
    </aside> 

    <!-- Portfolio --> 
    <section id="portfolio" class="portfolio"> 
     <div class="container"> 
      <div class="row"> 
       <div class="col-lg-10 col-lg-offset-1 text-center"> 
        <h2>Our Work</h2> 
        <hr class="small"> 
        <div class="row"> 
         <div class="col-md-6"> 
          <div class="portfolio-item"> 
           <a href="#"> 
            <img class="img-portfolio img-responsive" src="img/portfolio-1.jpg"> 
           </a> 
          </div> 
         </div> 
         <div class="col-md-6"> 
          <div class="portfolio-item"> 
           <a href="#"> 
            <img class="img-portfolio img-responsive" src="img/portfolio-2.jpg"> 
           </a> 
          </div> 
         </div> 
         <div class="col-md-6"> 
          <div class="portfolio-item"> 
           <a href="#"> 
            <img class="img-portfolio img-responsive" src="img/portfolio-3.jpg"> 
           </a> 
          </div> 
         </div> 
         <div class="col-md-6"> 
          <div class="portfolio-item"> 
           <a href="#"> 
            <img class="img-portfolio img-responsive" src="img/portfolio-4.jpg"> 
           </a> 
          </div> 
         </div> 
        </div> 
        <!-- /.row (nested) --> 
        <a href="#" class="btn btn-dark">View More Items</a> 
       </div> 
       <!-- /.col-lg-10 --> 
      </div> 
      <!-- /.row --> 
     </div> 
     <!-- /.container --> 
    </section> 

    <!-- Call to Action --> 
    <aside class="call-to-action bg-primary"> 
     <div class="container"> 
      <div class="row"> 
       <div class="col-lg-12 text-center"> 
        <h3>The buttons below are impossible to resist.</h3> 
        <a href="#" class="btn btn-lg btn-light">Click Me!</a> 
        <a href="#" class="btn btn-lg btn-dark">Look at Me!</a> 
       </div> 
      </div> 
     </div> 
    </aside> 

    <!-- Map --> 
    <section id="contact" class="map"> 
     <iframe width="100%" height="100%" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Twitter,+Inc.,+Market+Street,+San+Francisco,+CA&amp;aq=0&amp;oq=twitter&amp;sll=28.659344,-81.187888&amp;sspn=0.128789,0.264187&amp;ie=UTF8&amp;hq=Twitter,+Inc.,+Market+Street,+San+Francisco,+CA&amp;t=m&amp;z=15&amp;iwloc=A&amp;output=embed"></iframe> 
     <br /> 
     <small> 
      <a href="https://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=Twitter,+Inc.,+Market+Street,+San+Francisco,+CA&amp;aq=0&amp;oq=twitter&amp;sll=28.659344,-81.187888&amp;sspn=0.128789,0.264187&amp;ie=UTF8&amp;hq=Twitter,+Inc.,+Market+Street,+San+Francisco,+CA&amp;t=m&amp;z=15&amp;iwloc=A"></a> 
     </small> 
     </iframe> 
    </section> 

    <!-- Footer --> 
    <footer> 
     <div class="container"> 
      <div class="row"> 
       <div class="col-lg-10 col-lg-offset-1 text-center"> 
        <h4><strong>Start Bootstrap</strong> 
        </h4> 
        <p>3481 Melrose Place<br>Beverly Hills, CA 90210</p> 
        <ul class="list-unstyled"> 
         <li><i class="fa fa-phone fa-fw"></i> (123) 456-7890</li> 
         <li><i class="fa fa-envelope-o fa-fw"></i> <a href="mailto:[email protected]">[email protected]</a> 
         </li> 
        </ul> 
        <br> 
        <ul class="list-inline"> 
         <li> 
          <a href="#"><i class="fa fa-facebook fa-fw fa-3x"></i></a> 
         </li> 
         <li> 
          <a href="#"><i class="fa fa-twitter fa-fw fa-3x"></i></a> 
         </li> 
         <li> 
          <a href="#"><i class="fa fa-dribbble fa-fw fa-3x"></i></a> 
         </li> 
        </ul> 
        <hr class="small"> 
        <p class="text-muted">Copyright &copy; Your Website 2014</p> 
       </div> 
      </div> 
     </div> 
    </footer> 

    <!-- jQuery --> 
    <script src="js/jquery.js"></script> 

    <!-- Bootstrap Core JavaScript --> 
    <script src="js/bootstrap.min.js"></script> 

    <!-- Custom Theme JavaScript --> 
    <script> 
    // Closes the sidebar menu 
    $("#menu-close").click(function(e) { 
     e.preventDefault(); 
     $("#sidebar-wrapper").toggleClass("active"); 
    }); 

    // Opens the sidebar menu 
    $("#menu-toggle").click(function(e) { 
     e.preventDefault(); 
     $("#sidebar-wrapper").toggleClass("active"); 
    }); 

    // Scrolls to the selected menu item on the page 
    $(function() { 
     $('a[href*=#]:not([href=#])').click(function() { 
      if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') || location.hostname == this.hostname) { 

       var target = $(this.hash); 
       target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); 
       if (target.length) { 
        $('html,body').animate({ 
         scrollTop: target.offset().top 
        }, 1000); 
        return false; 
       } 
      } 
     }); 
    }); 
    </script> 

</body> 

</html> 

我評論,我需要這樣的幫助與引導核心CSS中的鏈接,自定義CSS。

+0

包括內部'application.js'和'這些應用所需的名稱的文件。css',畢竟它會自動鏈接到你的視圖。 –

+0

但是沒有鏈接外部樣式表的方法...我不想將它們全部結合到應用程序 –

+0

請參閱下面的答案 –

回答

0

從第3.1.3節:http://guides.rubyonrails.org/layouts_and_rendering.html

的stylesheet_link_tag輔助返回提供的每個 源的HTML標籤。

如果您在啓用「資產管道」的情況下使用Rails,則此幫助程序 將生成指向/ assets/stylesheets /的鏈接。這個鏈接是由鏈輪寶石處理的 。樣式表文件可以存儲在三個位置的一個 中:app/assets,lib/assets或vendor/assets。

0

你可以調用所有的樣式:在(應用程序/視圖/佈局/ application.html.erb)

<%= stylesheet_link_tag "application", :media => "all" %> 

發現或您的外部樣式表創建一個單獨的目錄

資產: :your_external_css :: new_sytle

<%= stylesheet_link_tag "application", "your_external_css/new_style" %> 
0

打開application.html.erb文件,並把此行的代碼與現有一起標籤:

<%= stylesheet_link_tag 'application', 'font-awesome/css/font-awesome.min.css' %> 
// put another external link 
<%= stylesheet_link_tag 'application', 'externalFilePath...' %> 
<%= stylesheet_link_tag 'application', 'externalFilePath...' %> 

你可能想讀this也。

0

你需要單獨的庫文件編輯,Rails的「資產管道」都在同一個文件名爲application.css或aplication.js

你只需要申請文件:

Application.css.scss

@import 'bootstrap';   #vendor/assets 
    @import 'bootstrap_overrides'; 
    @import 'icons'; 
    @import 'colors'; 
    @import 'layout'; 
    @import 'naked'; 
    @import 'pages'; 

application_layout.html.erb

<%= stylesheet_link_tag "application", :media => "all" %> 

,如果你需要創建的其它文件時軌編譯,在你的config/application.rb中

config.assets.precompile += %w(
    yourfile.css 
) 
在佈局

<%= stylesheet_link_tag "application", :media => "all" %> 
<%= stylesheet_link_tag "yourfile", :media => "all" %> 

添加這個功能,你需要在創建隨聲附和/樣式表/ yourfile文件.css.scss

紅寶石管道指南:http://guides.rubyonrails.org/asset_pipeline.html

相關問題