Удалить эффект сворачивания текста с боковой панели

#javascript #html #css

#javascript #HTML #css

Вопрос:

Итак, у меня есть шаблон боковой панели для моего проекта, и я хочу исправить сворачивание и расширение текста при закрытии и открытии. Любая помощь? Примечание: глобальный файл css был объединен с файлом featured css. Я работаю над проектом о музыке, которая выглядит как метро. Я бы хотел, чтобы это выглядело довольно близко, и это, честно говоря, выглядело довольно уродливо. Когда я импортировал его, все было в порядке. Я изменил только длительность перехода, высоту, непрозрачность, цвет текста и цвет фона. Ссылка на видео.

 @import url('https://fonts.googleapis.com/css2?family=Open Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800amp;display=swap');
html {
    margin: 0;
    padding: 0;
    text-align: center;
    align-items: center;
    justify-items: center;
}
body {
    background-color: #000000;
    color: #ffffff;
    font-family: 'Segoe UI', 'Open Sans', sans-serif;
    transition: ease;
    overflow: hidden;
}
a {
    color: #ffffff;
    text-decoration: none!important;
}
.track80 {
    max-width: 940px;
    margin: 0 auto;
}
.swapper {
    margin-top: 30px;
}
.home {
    font-weight: 600;
    text-align: left;
    font-size: 350%;
    color: #808080;
    transition: 100ms ease-in-out;
    line-height: 1.5;
}
.home:hover {
    color: #ffffff;
}
.big-title {
    font-weight: 300;
    text-align: left;
    font-size: 350%;
    color: #808080;
    transition: 100ms ease-in-out;
    line-height: 1.5;
}
.big-title-no-link {
    font-weight: 300;
    text-align: left;
    font-size: 350%;
    color: #ffffff;
    transition: 100ms ease-in-out;
    line-height: 1.5;
    display: inline;
}
.smaller-title-no-link {
    font-weight: 500;
    text-align: left;
    font-size: 250%;
    color: #585858;
    transition: 100ms ease-in-out;
    line-height: 1.5;
    display: inline;
}
.big-title:hover {
    color: #ffffff;
}
div.featured {
    display: flex;
    flex: 1;
}
div.featured-item:first-child {
    margin-right: 35px;
}
img.cover:hover {
    opacity: 70%;
    border: 5px solid #3f3f3f;
}
img.cover {
    width: 200px;
    height: 200px;
    transition: ease 200ms;
}
.song-title {
    margin-top: 20px;
}
.sidenav {
    height: 100vh;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #000000cb;
    overflow-x: hidden;
    transition: 500ms ease;
    padding-top: 60px;
  }
  .sidenav a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #eeeeee;
    display: block;
    transition: 200ms ease;
  }
  
  .sidenav a:hover {
    color: #ffffff;
  }
  
  .sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
  }
  
  @media screen and (max-height: 450px) {
    .sidenav {padding-top: 15px;}
    .sidenav a {font-size: 18px;}
  }  
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>track.80</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU 6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV rV" crossorigin="anonymous"></script>
<script>
    function openNav1() {
      document.getElementById("sidebar1").style.width = "250px";
    }
    
    function closeNav1() {
      document.getElementById("sidebar1").style.width = "0";
    }
</script>
<script>
    function openNav2() {
      document.getElementById("sidebar1").style.width = "250px";
    }
    
    function closeNav2() {
      document.getElementById("sidebar1").style.width = "0";
    }
</script>
        <link rel="stylesheet" href="/style.css">
    <link rel="stylesheet" href="featured.css">
</head>
<body class="animate__animated animate__fadeInLeft">
    <div class="track80">
        <div id="sidebar1" class="sidenav">
            <a href="javascript:void(0)" class="closebtn" onclick="closeNav1()">amp;times;</a>
            <p class="song-title-sidebar">OutKast - Elevators (Me amp; You)</h3>
            <a href="#">snippet</a>
            <a href="#">view album</a>
            <a href="#">view artist</a>
          </div>
          <div id="sidebar2" class="sidenav">
            <a href="javascript:void(0)" class="closebtn" onclick="closeNav2()">amp;times;</a>
            <a href="#">About</a>
            <a href="#">Services</a>
            <a href="#">Clients</a>
            <a href="#">Contact</a>
          </div>
        <div class="swapper">
            <h1 class="big-title-no-link">featured</h1>amp;nbsp;<h1 id="date" class="smaller-title-no-link"></h1>
            <script>var d = new Date();
            document.getElementById("date").innerHTML = d.toDateString();</script>
        </div>
        
        <div class="featured">
            <div class="featured-item outkast-elevators" id="1">
                <img class="cover" onclick="openNav1()" src="http://ayefries.rf.gd/cdn/elev.jpg"></img>
                <h3 class="song-title">Elevators (Me amp; You)</h3>
                <p class="details">OutKast - ATLiens (1996)</p>
            </div>

            <span class="featured-item ohno-canthelp" id="2">
                <img class="cover" onclick="openNav2()" src="http://ayefries.rf.gd/cdn/canthelp.jpg"></img>
                <h3 class="song-title">I Can't Help Myself</h3>
                <p class="details">Oh No - The Disrupt (2004)</p>
            </span>
        </div>
    </div>
</body>
</html>  

Комментарии:

1. добавить white-space: nowrap в .sidenav .

Ответ №1:

Я придал ему ширину и добавил transform:translateX() свойство. с этим довольно просто. при нажатии на изображение оно перемещается вправо, а при нажатии на X него оно перемещается влево. но, как вы написали overflow: hidden в теле, он не будет показан.

 function openNav1() {
      document.getElementById("sidebar1").style.transform = "translateX(0px)";
    }
    
    function closeNav1() {
      document.getElementById("sidebar1").style.transform = "translateX(-250px)";
    }

function openNav2() {
      document.getElementById("sidebar1").style.transform = "translateX(0px)";
    }
    
    function closeNav2() {
      document.getElementById("sidebar1").style.transform = "translateX(-250px)";
    }  
 .sidenav {
  transform: translateX(-250px);
  width: 250px;
  }