为什么我的网站在手机上看起来完全不同(ReactJS)?

时间:2017-02-15 01:08:01

标签: javascript html css3 reactjs

我刚刚完成了我的个人网站,我的工作非常努力。它在电脑上看起来很正常但在手机上看起来完全不合适。为什么?这是我的第一个网站,我很高兴在手机上看到它只是为了看到它完全混乱。

这是我的index.html

<!DOCTYPE html>
<html>

  <head>
     <title>Website</title>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css">
     <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/react@15/dist/react.js"></script>
     <script src="https://unpkg.com/react-dom@15/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文件:

html {
  text-align: center;
}
.container {
  margin-right: 10px;
}

.portfolio {
  text-align: center;
}

.about {
  text-align: center;
}

.contact {
  text-align: center;
}

.fullName {
  float: left;
}

.myPic {
  margin-left: -499px;
  height: 1051px;
}

.scrollTo {
  margin: inherit;
}

.number {
  font-size: 89px;
}

.email {
  font-size: 70px;
}

.githubIcon {
  font-size: 60px;
}

.masterPv:hover .pvPic {
  opacity: 0.3;
}

.masterPv:hover .middlePv {
  opacity: 1;
}

.masterWFAFA:hover .WFAFAPic {
  opacity: 0.3;
}

.masterWFAFA:hover .middleWFAFA {
  opacity: 1;
}

.masterHP:hover .HPPic {
  opacity: 0.3;
}

.masterHP:hover .middleHP {
  opacity: 1;
}

.scrollToAbout {
  text-align: center;
}

.masterPv {
  position: relative;
  width: 50%;
}

.pvPic {
  opacity: 1;
  display: block;
  width: 400px;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden;
}

.middlePv {
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.pvText {
  background-color: #4CAF50;
  color: white;
  font-size: 16px;

  margin-right: 139px;
}

.masterWFAFA {
  position: relative;
  width: 50%;
  text-align: center;


  /*top: -203px;*/


}

.WFAFAPic {
  opacity: 1;
  display: block;
  width: 400px;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden;
}

.middleWFAFA {
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.WFAFAText {
  background-color: #4CAF50;
  color: white;
  font-size: 16px;
  padding: 16px 32px;
  margin-right: 139px;
}

.masterHP {
  position: relative;
  width: 50%;
  margin-left: 640px;
  bottom: 409px;
}

.HPPic {
  opacity: 1;
  display: block;
  width: 400px;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden;
}

.middleHP {
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.HPText {
  background-color: #4CAF50;
  color: white;
  font-size: 16px;
  padding: 16px 32px;
  margin-right: 139px;
}

.mainPic {
  border-width: 2px;
  width: 1100px;
  text-align: center;
  overflow:hidden;
}

code {
  text-align: center;
}

.wrapper {
  background-color: rgb(134,321,342);
}

div {
  text-align: center;
  margin-right: 31px;
}

这是我的index.js文件:

var Website = React.createClass({

   scrolling: function() {
     $('html,body').animate({
         scrollTop: $(".scrollToPortfolio").offset().top
        },'slow');
   },

   scrollToAbout: function() {
     $('html,body').animate({
       scrollTop: $(".scrollToAbout").offset().top
     },'slow');
   },

   scrollToContact: function() {
     $('html,body').animate({
       scrollTop: $(".scrollToContact").offset().top
     },'slow')
   },

  render: function() {

    return(

      <div className="container">
      <kbd className="fullName">my name</kbd>
        <button onClick={this.scrolling} type="button" className="btn btn-primary portfolio">Portfolio</button>
        <button onClick={this.scrollToAbout} type="button" className="btn btn-primary about">About</button>
        <button onClick={this.scrollToContact}type="button" className="btn btn-primary contact">Contact</button>

        <div className="mainPic">
          <img src={"./pictures/skyline.jpg"}></img>
        </div>

        <div className="scrollToPortfolio">
          <h2><u>Portfolio</u></h2>
          <div className="masterPv">
          <a href="http://piccolovillaggio.com/">
            <img src={"./pictures/portfolioPic1.png"} className="pvPic img-rounded"></img>
          </a>
             <div className="middlePv">
              <div className="pvText">Menu for catering company.</div>
             </div>
           </div>   

          <div className="masterWFAFA">
            <img src={"./pictures/WFAFA.png"} className="WFAFAPic img-rounded"></img>
              <div className="middleWFAFA">
                <div className="WFAFAText">Worlds first automated financial advisor.</div>
              </div>
          </div>

          <div className="masterHP">
          <a href="http://www.ashikul.com/hunts-point/">
            <img src={"./pictures/HP.png"} className="HPPic img-rounded"></img>
          </a>
              <div className="middleHP">
                <div className="HPText">Hunts Point Seaport and Shipyard LLC company website.</div>
              </div>
          </div> 

          </div>

        <div className="scrollToAbout jumbotron">
          <h2><u>About</u></h2>
          <h2>Text Text Text Text</h2>
        </div>


        <div className="scrollToContact jumbotron">
          <h2><u>Contact</u></h2>
          <h1 className="number">3333333333</h1>
          <strong className="email"><a href="mailto:email@yahoo.com">email@yahoo.com</a></strong>
          <p>
            <a href="#" className="btn btn-social-icon btn-lg btn-github githubIcon ">
             <span className="fa fa-github"></span>
           </a>
           </p>
        </div>

        <div className="wrapper"></div>
          <span>© 2017-2018 <b>my name</b></span>
        </div>
    );
  }
});

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

3 个答案:

答案 0 :(得分:2)

&#34;搞乱&#34;不是一个非常具体的诊断方法。但总的来说,我说你的网站看起来很糟糕(在桌面和移动设备上),因为你以一种令人困惑的方式构建它。您使用Bootstrap来处理某些事情而不是其他事情,导致样式发生冲突并使事物不对齐。例如,您使用.container但其中没有网格。然后你重写关键的Bootstrap样式,比如margin,它会抛弃一切。

Bootstrap是一个很好的构建框架,但是如果您要使用它,请正确使用它。 Read the documentation,了解网格的工作原理,并从中构建。不要尝试手工编写如此多的东西或覆盖样式。

答案 1 :(得分:1)

简单回答是因为您的网站没有响应

首先,我将此视为您的第一个完整项目,并且您不熟悉网页设计。您的问题总结的是您的网站没有响应。对于您这样做,有各种方法,简单的谷歌搜索响应式网页设计将有所帮助。

为了帮助您进行搜索,您可以针对响应式设计搜索bootstrap等插件,或者在css media queries上阅读。

如果我们要回答你的问题,那就是为你创建另一个网站,而不是那个网站。

确保您阅读responsive-design

希望这有帮助

答案 2 :(得分:0)

安装bootstrap不会自动使您的网页响应。

Bootstrap网格系统提供响应式设计。 以下是bootstrap网格系统的基本示例。

<div className="container-fluid">
   <div className="row">
      <div className="col col-xs-12 col-md-6 col-md-offset-3"></div>
   </div>
</div>

col类属性将为您的布局添加响应式样式。

最近,我使用react-bootstrap进行反应项目并对产品非常满意,使用react-bootstrap,开发人员更容易动态地引导您的前端。这是

import { Grid, Row, Col } from 'react-bootstrap';

<Grid fluid={true}>
   <Row>
      <Col xs={12} md={6} mdOffset={3}></Col>
   </Row>
</Grid>