2017-01-24 3 views
0

Я хотел создать веб-приложение с помощью ReactJS. Я получил bootstrap, но теперь я хочу, чтобы CSS работал. Почему мой метод недействителен при выполнении того, что пытается сделать мой CSS?Почему я не могу использовать CSS таким образом?

Вот мой index.html файл:

<!DOCTYPE html> 
<html> 

    <head> 
    <title>My website</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="index.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
    <script src="https://unpkg.com/[email protected]/dist/react.js"></script> 
    <script src="https://unpkg.com/[email protected]/dist/react-dom.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.16/browser.js"></script> 
    </head> 

    <body> 
    <div id="firstBar"></div> 
    <script type="text/babel" src="index.js"></script> 
    </body> 

</html> 

Вот мой index.css файл:

#portfolio { 
    text-align: center; 
} 

Вот мой index.js файл:

var TitleBar = React.createClass({ 
    render: function() { 
    return(
     <div className="container"> 
     <button id="portfolio" type="button" className="btn btn-primary">Portfolio</button> 
     <button type="button" className="btn btn-primary">About</button> 
     <button type="button" className="btn btn-primary">Contact</button> 
     </div> 
    ); 
    } 
}); 

ReactDOM.render(<TitleBar />, document.getElementById('firstBar')); 
+4

может быть, потому, что вы используете '# portfolio' вместо' .portfolio'? –

+0

@MichaelCoker Я изменил его, он все еще не работает. – chompy

+0

Работает ли что-нибудь в вашей таблице стилей? Или это просто одно правило? – jmargolisvt

ответ

1

Вы используете имя класса дважды. Он будет работать, если вы поместите класс портфеля в другое имя класса.

var TitleBar = React.createClass({ 
    render: function() { 
    return(
     <div className="container"> 
     <button type="button" className="btn btn-primary portfolio">Portfolio</button> 
     <button type="button" className="btn btn-primary">About</button> 
     <button type="button" className="btn btn-primary">Contact</button> 
     </div> 
    ); 
    } 
}); 

ReactDOM.render(<TitleBar />, document.getElementById('firstBar')); 

http://codepen.io/justdan/pen/JEyYvQ?editors=1010

+0

Это сделало трюк, спасибо! – chompy

+0

Справа и приветствую =). Позаботьтесь, чтобы мне понравилось +1, пожалуйста? –

+0

Несомненно, никаких проблем. – chompy

0

Похоже, это потому, что ваш CSS ссылается на идентификатор #portfolio вместо e класс .portfolio. # перед именем означает, что элемент является идентификатором, а . означает, что этот элемент является классом.

+0

Я просто изменил его, все еще не работает. – chompy

+0

@chompy, что такое визуализированный HTML? И есть ли у вас какие-либо ошибки в консоли браузера? –

+0

Нет ошибок. Я просто хочу, чтобы мой CSS в действии на моей первой кнопке – chompy

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