How to change CSS when the screen size changes

nenur picture nenur · Apr 6, 2017 · Viewed 44.8k times · Source

So I have looked into code for my website that would changes the css and even the html of certain sections of my code when the screen size changes. What I am looking into as a start is when I put my website into split screen on Windows 10, or on a Mac, I want the header "Some Title" to move to the left side of the header section. I hope that this will help me with changing certain aspects of my website when the screen size changes. My code is below.

Answer

Media queries can help you to define different styles for different screen sizes. Also, I'd recommend a different accomodation of HTML items, e.g.:

<!DOCTYPE html>
<head>
  <meta charset="UTF-8">
  <title>Some Title</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" href= "Logo.png" type="img/SVG" style="width: 100%; height: 100%">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
  <style>
    body {
        margin: 0;

    }

    .Header {
        background-color: black;
        text-align: right;
    }

    .socialmedia {
        transform: translate(0, -50%);
        align-items: center;
    }

    .socialmedia a{
      display:inline;
    }

    h1 {
      color:white; 
      font-family: Verdana; 
      font-style: italic; 
      font-size: x-large;
      text-align: center; padding-top: 20px;
    }

    @media (max-width:700px){
        .headerLogo h1 {
            text-align:left;
        }

    }
    @media (min-width:1000px){
      .socialmedia {
        margin-right:100px;
      }
    }
    .preorder button {
        background-color: white;
        border: 0;
        height: 35px;
        width: 110px;
        margin-left: 35px;
    }

    .footer {
        display: flex;
        align-items: center;
        width: 100%;
        height: 90px;
        background-color: black;
    }

    .img-fluid{
        width: inherit;
        height: 782px;
    }

    .mySlides~.mySlides {
        position: absolute;
        top: 0;
        left: 100%;
        transition: 0.7s;
    }
    a{text-decoration: none;}
    a:hover{
        text-decoration:none;
    }
  </style>
</head>
<body>    
<div class="Header" id="myHeader">
  <a class="headerLogo" href="file:///C:/Noah's%20stuff/Home.html" ><h1>Some Title</h1></a>
  <div class="socialmedia">
      <a class="Facebook" href="https://www.facebook.com/" target="_blank"><img src = "https://images.seeklogo.net/2016/09/facebook-icon-preview-1.png" width="50px" height="50px"></a>
      <a class="Instagram" href="https://www.instagram.com/"><img src = "https://images.seeklogo.net/2016/06/Instagram-logo.png"  width="50px" height="50px"></a>
      <a class="Youtube" href="https://www.youtube.com/channel/" target="_blank"><img src = "https://images.seeklogo.net/2016/06/YouTube-icon.png" width="50px" height="50px"></a>
      <button style = "background-color: white;">Pre-Order</button>
  </div>
</div>
</body>
</html>

When screen size < 700px then text will align to the left, and when screen size is >= 1000 then social media box will add a margin to the right.