首页 > 解决方案 > 两个问题:顶部固定标题上的图像大于标题和两个部分不是从第一个元素开始

问题描述

首要问题

设法获得固定的侧边栏和固定的标题。但问题是我在顶部固定标题上放置了 3 个图像,出于某种原因,在移动设备上它很好,但在其他分辨率上,即使图像是响应式的,它们也会变大并且不适合固定标题。

第二期

我确实设法用 javascript 制作了部分,但是当我在一个部分中向下滚动并从左侧边栏中选择另一个项目时,该部分从最后一个部分滚动的位置开始。不从该部分的第一个元素开始。此外,即使根据分辨率,我应该在页面上有 4、2 或 1 个图像,但它不起作用。


网站:https ://www.cevdetarkun.com/ho3/

HTML

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" lang="tr">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title> Hakkioglu Izgara Kofte </title>
        <link href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700,800,900" rel="stylesheet">
        <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.15.1/css/all.css">
        <link rel="Stylesheet" href="css/style.css">
        <link rel="Stylesheet" href="css/normalize.css">


    </head>
  
    <body style="overflow: hidden;">
    
<div id="sidebar">
    <nav id="sidebar" class="active">   
        
        <ul class="list-unstyled components">
        <li><a href="index.html" class="logo"><img src="images/logo.png" alt=""></a></li>
        <li style="color:white;">------------------</li>
        <li style="color:white;">-MENÜMÜZ-</li> 
        <li style="color:white;">------------------</li>
        
          <li>
            <a id=izgaralar href="#izgaralar"><span class="fas fa-shish-kebab"></span> Izgaralar</a>
          </li>
          <li>
            <a id=pideler href="#pideler"><span class="fas fa-soup"></span> Pideler</a>
          </li>
          <li>
            <a id=hamburgerler href="#hamburgerler"><span class="fas fa-cheeseburger"></span> Hamburgerler</a>
          </li>
          <li>
            <a id=suluyemekler href="#suluyemekler"><span class="fas fa-salad"></span> Sulu Yemekler</a>
          </li>
          <li>
            <a id=salatalar href="#salatalar"><span class="fas fa-salad"></span> Salatalar</a>
          </li>
          <li>
            <a id=tatlilar href="#tatlilar"><span class="fas fa-pie"></span> Tatlilar</a>
          </li>
          
          
          <li style="color:white;">-----------------</li>


        </ul>
        
    </nav>
</div>
        
    
<div id="rightSideWrapper">
            
        <div id="header"> 
        
    
<div class="headerrow">
    
  
  <div class="headercolumn">
  <a href="http://maps.google.com/?q=Büyükdere Cd. No:28/B, 34394 Şişli/İstanbul" target="_blank">
    <img src="images/1.jpg" alt="" style="width:100%">
    </a>
  </div>
  
   <div class="headercolumn">
   
  <a href="tel:05322812329">
    <img src="images/2.jpg" alt="" style="width:100%">
    </a>
  </div>
  
  <div class="headercolumn">

    <img src="images/3.jpg" alt="" style="width:100%">

  </div>
  
    
    </div>      
    
            
            
    <!--Main content-->
<div class="ContentBox" style="display: flex; flex-direction: column; height: 100%;">
    

<section id="main-content" style="flex:1; overflow-y: scroll;">
<div class="row">

    <div class="column">
    <div class="content">
      <h2>Hosgeldiniz</h2>
     <h4>Hakkioglu izgara kofte olarak sizlere en iyi hizmeti sunma icin calisiyoruz...</h4>
    </div>
    </div>
    <div class="column">
    <div class="content">
         <h3>Etlerimiz</h3>
         <h4>Kendi Uretimiziz olup bursadan ozel olarak getirilmektedir.</h4>
         <h4>%100 dana etidir</h4>
    </div>
    </div>
    <div class="column">
    <div class="content">
      <h3>Komur atesi</h3>
        <h4>Urunlerimiz komur atesinde izgarada pisirilmektedir.</h4>
    </div>
    </div>
    
    <div class="column">
    <div class="content">
      <h3>Komur atesi</h3>
        <h4>Urunlerimiz komur atesinde izgarada pisirilmektedir.</h4>
    </div>
    </div>
  
</div>
</section>


 
  <!-- IZGARALAR  -->      
<section id="izgaralar-content"> 
<div class="row">
     
  <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/Izgara_kofte.jpg" alt="Izgara Kofte" style="width:100%">
      <h3>Izgara Kofte</h3>
      <h4>1 porsiyon 35 TL</h4>
      <h4>1.5 porsiyon 45 TL</h4>      
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/Kasarli_Kofte.jpg"  alt="" style="width:100%">
      <h3>Kasarli Kofte</h3>
     <h4>1 porsiyon 35 TL</h4>
      <h4>1.5 porsiyon 45 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/acili_kofte.jpg" alt="" style="width:100%">
      <h3>Acili Kofte</h3>
     <h4>1 porsiyon 35 TL</h4>
      <h4>1.5 porsiyon 45 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/Et_Sis.jpg" alt="" style="width:100%">
      <h3>Et Sis</h3>
      <h4>1 porsiyon...35 TL</h4>
      <h4>1.5 porsiyon...45 TL</h4>
    </div>
  </div>
    <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/Antrikot.jpg" alt="" style="width:100%">
      <h3>Antrikot</h3>
      <h4>1 porsiyon...35 TL</h4>
      <h4>1.5 porsiyon...45 TL</h4>
    </div>
  </div>
    <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/pirzola.jpg" alt="" style="width:100%">
      <h3>Pirzola</h3>
      <h4>1 porsiyon...35 TL</h4>
      <h4>1.5 porsiyon...45 TL</h4>
    </div>
  </div>
    <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/Sucuk_Izgara.jpg" alt="" style="width:100%">
      <h3>Sucuk Izgara</h3>
    <h4>1 porsiyon 35 TL</h4>
      <h4>1.5 porsiyon 45 TL</h4>
    </div>
  </div>
    <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/tavuk_sis.jpg"  alt="" style="width:100%">
      <h3>Tavuk Sis</h3>
     <h4>1 porsiyon 35 TL</h4>
      <h4>1.5 porsiyon 45 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/tavuk_pirzola.jpg" alt="" style="width:100%">
      <h3>Tavuk Pirzola</h3>
     <h4>1 porsiyon 35 TL</h4>
      <h4>1.5 porsiyon 45 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/tavuk_izgara.jpg" alt="" style="width:100%">
      <h3>Tavuk Izgara</h3>
     <h4>1 porsiyon 35 TL</h4>
      <h4>1.5 porsiyon 45 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/izgaralar/Karısık_Izgara.jpg" alt="" style="width:100%">
      <h3>Karisik Izgara</h3>
     <h4>1 porsiyon 35 TL</h4>
      <h4>1.5 porsiyon 45 TL</h4>
    </div>
  </div>
  
</div>
</section>
       
       
   <!-- PIDELER  -->            
<section id="pideler-content">


<div class="row">

  <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/Kasarli_Pide_v2.jpg" alt="" style="width:100%">
      <h3>Kasarli</h3>
      <h4>1 porsiyon 35 TL</h4>   
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/Kasarli_Kusbasili_Pide_V2.jpg" alt="" style="width:100%">
      <h3>Kasarli Kusbasili</h3>
      <h4>38 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/Kasarli_Sucuklu_Pide_V2.jpg" alt="" style="width:100%">
      <h3>Kasarli Sucuklu</h3>
      <h4>45 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/Kusbasili_Kapali_Pide_V2.jpg" alt="" style="width:100%">
      <h3>Kusbasili Kapali</h3>
      <h4>41 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/Kiymali_Pide_V2.jpg" alt="" style="width:100%">
      <h3>Kiymali</h3>
      <h4>41 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/Kusbasili_Pide_V2.jpg" alt="" style="width:100%">
      <h3>Kusbasili</h3>
      <h4>41 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/Full_Karisik_Pide.jpg" alt="" style="width:100%">
      <h3>Full Karisik</h3>
      <h4>41 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/Peynirli_yuvarlak.jpg" alt="" style="width:100%">
      <h3>Trabzon Peynirli</h3>
      <h4>41 TL</h4>
    </div>
  </div>
    <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/kavurmali-yuvarlak.jpg" alt="" style="width:100%">
      <h3>Kavurmali</h3>
      <h4>41 TL</h4>
    </div>
  </div>
    <div class="column">
    <div class="content">
      <img src="images/urunler/pideler/sebzeli-yuvarlak_Pide.jpg" alt="" style="width:100%">
      <h3>Sebzeli</h3>
      <h4>41 TL</h4>
    </div>
  </div>
  
</div>
       </section>
       
       
  <!-- HAMBURGERLER  -->             
<section id="hamburgerler-content">
      
<div class="row">    
  <div class="column">
    <div class="content">
      <img src="images/urunler/hamburgerler/burger.jpg" alt="" style="width:100%">
      <h3>Hakkioglu Burger</h3>
      <h4>19.5 TL</h4>
    </div>
  </div>
  <div class="column">
    <div class="content">
      <img src="images/urunler/hamburgerler/dubleburger.jpg" alt="" style="width:100%">
      <h3>Hakkioglu Duble Burger</h3>
      <h4>38 TL</h4>
    </div>
  </div>
  
</div>
</section>

</div>          
            
</div>
        
    <script src="js/jquery.min.js"></script>
    <script src="js/popper.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/main.js"></script>


    </body>

</html>

CSS


@charset "UTF-8";
/* CSS Document */


*{ 
    margin: 0px;
    padding: 0px;
    line-height: 1.5;   
}

#sidebar {
    /*Strictly Necessary */
    position:fixed; 
    height: 100%;
    width:80px;
    margin: 0px;  

  /*Aesthetics*/
  background: #e85d1a; 
  border: 7px;  
}

#sidebar .active {
    min-width: 80px;
    max-width: 80px;
    
    text-align: center; }
    #sidebar.active ul.components li {
      font-size: 13px; }
      #sidebar.active ul.components li a {
        padding: 4px 0; }
        #sidebar.active ul.components li a span {
          margin-right: 0;
          display: block;
          font-size: 25px;
           }
          
      
#sidebar .logo {
    display: block;
    padding: 2px 1px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s; }

#sidebar ul.components {
    padding: 0;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s; }
  
#sidebar ul li {
    font-size: 16px; }

#sidebar ul li > ul {
      margin-left: 10px; }
      #sidebar ul li > ul li {
        font-size: 14px; }

#sidebar ul li a {
      padding: 0px 30px;
      display: block;
      color: white;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

#sidebar ul li a span {
        margin-right: 15px; }
        
#sidebar a:hover {
  background-color: #ddd;
  color: green;
}

/* Add a color to the active/current link */
#sidebar a.active {
  background-color: #green;
  color: green;
}
        


#rightSideWrapper {
    /*Strictly Necessary */
    width: calc(100% - 80px);
    float: right;

    /*Aesthetics*/
    background: white;  
}

#header {
    /*Strictly Necessary */
    position: fixed;
    width: calc(100% - 80px);
    height: 60px; /*Adjust the hight to your purposes*/
    margin-left: 0px;
    
        
    /*Aesthetics*/
    background: #e85d1a;
    border-radius: 0px;
}


/* Add a black background color to the top navigation */
.topnav {

  border-radius: 3px;

}

/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  color: #f2f2f2;
  text-align: center;
  padding: 8px 4px;
  text-decoration: none;
  font-size: 14px;
  display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  
}

/* Change the color of links on hover */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}

/* Add a color to the active/current link */
.topnav a.active {
  background-color: #04AA6D;
  color: white;
}

/* Right-left aligned section inside the top navigation */
.topnav-right {
  float: right;
}

.topnav.left {
 float:left;
}

/* Center website */

        
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2; }

h1, .h1 {
  font-size: 2.5rem; }

h2, .h2 {
  font-size: 2rem;

        }

h3, .h3 {
  font-size: 1.5rem;
    display: inline;
      padding: 2px;
    
     }

h4, .h4 {
  font-size: 1.25rem;
    padding: 2px; }

h5, .h5 {
  font-size: 1.25rem; }

h6, .h6 {
  font-size: 1rem; }
  



hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }
  
a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent; }
  a:hover {
    color: #0056b3;
    text-decoration: underline; }

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none; }
  a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
    color: inherit;
    text-decoration: none; }
  a:not([href]):not([tabindex]):focus {
    outline: 0; }
    
    
a {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
  color: #3e64ff; }
  a:hover, a:focus {
    text-decoration: none !important;
    outline: none !important;
    -webkit-box-shadow: none;
    box-shadow: none; }
    
    li {
  list-style-type: none;
    }
    


/* Content */
.ContentBox{
    margin-top: 75px; /*The height of the   header*/
display: flex;

    flex-flow: row wrap;
    overflow: auto;
    padding-left: 5px;
    padding-right: 10px;

} 

.content {
  background-color: white;
  border-radius: 4px;  /* Rounded border */
  box-sizing: content-box;   
  border: 2px solid black;

}

.row {
padding: 2px;   

}

/* Add padding BETWEEN each column (if you want) */
.row,
.row > .column {

}

/* Create four equal columns that floats next to each other */
.column {
  float: left;
  width: 25%;
padding: 1px;
}

/* Clear floats after rows */
.row:after {
  content: "";
  display: table;
  clear: both;
}

/* Responsive layout - makes a two column-layout instead of four columns */
@media screen and (max-width: 900px) {
  .column {
    width: 50%;
  }
}

/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
  }
}


img {
  
  
  width: 50px; /* Set a small width */
  
}

/* Add a hover effect (blue shadow) */
img:hover {
  box-shadow: 0 0 2px 1px red;
}

.logo img {
    height: 60px; width: 60px;
    text-decoration: none;
    border: none;
}

.headerimg img {
margin-top: 1px;
height: 57px; width: 100%;
border-radius: 0px;
}    

.haritaimg img {
margin-top: 1px;
height: 600px; width: 600px;
border-radius: 1px;
}    
 
 
{
  box-sizing: border-box;
}

.headercolumn {
  float: left;
  width: 33.33%;
}

/* Clearfix (clear floats) */
.headerrow::after {
  content: "";
  clear: both;
  display: table;

}

JavaScript

每个部分都有自己的显示隐藏


$("#icecekler").click(function(){
    $("#main-content").hide()
    $("#izgaralar-content").hide()
    $("#pideler-content").hide()
    $("#hamburgerler-content").hide()
    $("#suluyemekler-content").hide()
    $("#salatalar-content").hide()
    $("#tatlilar-content").hide()
    $("#icecekler-content").show()
    $("#hakkimizda-content").hide()
    $("#iletisim-content").hide()
    $("#harita-content").hide()
    $("#calisma-content").hide()
})

标签: javascripthtmlcss

解决方案


  • 您必须定义最大高度并将宽度设置为“自动”,以便这些图像将根据高度进行响应。

(首先删除内部样式宽度:100%;在 <img 元素内部并使类看起来像这样:)

https://www.w3schools.com/howto/howto_css_image_responsive.asp

.img {
    max-height: 60px;
    width: auto;
}

也尝试使用 flexbox 而不是静态百分比定义(33% 宽度等)...试试这个:

.headerrow {
    display: flex;
}

.headercolumn {
    flex-grow: 1; // eventual
}

https://css-tricks.com/snippets/css/a-guide-to-flexbox/


推荐阅读