2015-08-25 3 views
0

Как связать мою таблицу стилей CSS с моим html-файлом. Я использую рельсы для создания приложения, но структура файла все еще довольно запутанна. У меня есть каталог для таблиц стилей в активах, но я не знаю, как их связать. Вот что мой файл 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 Bootstrap и пользовательские CSS.

+0

включают те необходимые файлы имен внутри '' application.js' и приложения.css', ведь он будет автоматически связан с вашим представлением. –

+0

Но нет ли способа связать внешние таблицы стилей ... Я не хочу объединять все это вместе с приложением –

+0

см. Мой ответ ниже –

ответ

0

Из раздела 3.1.3: http://guides.rubyonrails.org/layouts_and_rendering.html:

stylesheet_link_tag помощник возвращает HTML-тег для каждого источника при условии.

Если вы используете Rails с включенным «Asset Pipeline», этот помощник будет генерировать ссылку на/assets/stylesheets /. Эта ссылка затем обработана драгоценными камнями Sprockets. Файл таблицы стилей можно сохранить в одном из трех местоположений: 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

вам нужны отдельные библиотеки редактируемые файлы, Рельсы «Asset Pipeline» все в один файл с именем 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" %> 

, если вам нужно создан другой файл, когда рельсы компиляции, добавить эту функцию в конфигурации/application.rb

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

в макете

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

и вам необходимо создать файл в поддакивает/стилей/yourfile .css.scss

руководство трубопровода Ruby: http://guides.rubyonrails.org/asset_pipeline.html

Смежные вопросы