Как переместить боковую панель в правую часть экрана

Я новичок в css, так что не обращайте внимания на мои навыки, я скопировал этот код у кого-то еще в Интернете. Что я хочу сделать, так это сделать так, чтобы боковая панель была справа, и когда вы наводите на нее курсор, детали появляются слева. Буду признателен за любую помощь, которую получу.

<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  <div class = "sidebar">
    <nav>
      <ul>
        <li>
          <a href = "#"><i class = "fa fa-facebook-f"></i><span>Facebook</span></a>
        </li>
        <li>
          <a href = "#"><i class = "fa fa-instagram"></i><span>Instagram</span></a>
        </li>
      </ul>
    </nav>
  </div>
</link>
@import url('https://fonts.googleapis.com/css?family=Montserrat:600&display=swap');
.sidebar *{
    background-color: #333;
  margin: 0;
  padding: 0;
  list-style: none;
  text-decoration: none;
  box-sizing: border-box;
}
.sidebar {
    display: inline;
  font-family: 'Montserrat', sans-serif;
  height: 100vh;
}
.sidebar nav{
  position: absolute;
  width: 70px;
  margin-top: 125px;
  transition: all 0.3s linear;
  box-shadow: 2px 2px 8px 0px rgba(0,0,0,.4);
}
.sidebar nav li{
  height: 60px;
  position:relative;
}
.sidebar nav li a{
  color: white;
  display: block;
  height: 100%;
  width: 100%;
  line-height: 60px;
  padding-left:25%;
  border-bottom: 1px solid rgba(0,0,0,.4);
  transition: all .3s linear;
}

.sidebar nav li a i{
  position:absolute;
  top: 17px;
  left: 20px;
  font-size: 27px;
}
ul li a span{
  display: none;
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.sidebar a:hover {
  z-index:1;
  width: 300px;
  border-bottom: 1px solid rgba(0,0,0,.5);
  box-shadow: 0 0 1px 1px rgba(0,0,0,.3);
  
}
.sidebar ul li:hover a span{
  padding-left: 30%;
  display: block;
}

Пытался установить text-center, свойства align-items не работали

Калькулятор CGPA 12 для семестра
Калькулятор CGPA 12 для семестра
Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие...
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц....
Настройка шаблона Metronic с помощью Webpack и Gulp
Настройка шаблона Metronic с помощью Webpack и Gulp
Я пишу эту статью, чтобы поделиться тем, как настроить макет Metronic с помощью Sass, поскольку Metronic предоставляет так много документации, и они...
Погружение в HTML и инструменты торговли
Погружение в HTML и инструменты торговли
Это была невероятная первая неделя в качестве стипендиата Bytewise Frontend Development Fellow, и я очень рад поделиться со всеми вами всем тем, чему...
Как создать страницу входа в систему с помощью HTML с использованием CSS.
Как создать страницу входа в систему с помощью HTML с использованием CSS.
Создание страницы входа в систему является важной частью создания веб-сайта или приложения, требующего аутентификации пользователя. Простую страницу...
Псевдоэлементы
Псевдоэлементы
Псевдоэлемент CSS - это ключевое слово, добавляемое к селектору, которое позволяет стилизовать определенную часть выбранного элемента (элементов)....
0
0
65
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

После нескольких минут «расчетного» угадывания я нашел решение. Вы говорите, что это должно быть относительное положение, но вы не говорите, куда оно должно идти. Поэтому я просто ввел координаты здесь, если вы хотите обновить эти координаты, вам придется быть начеку, потому что они очень чувствительны (координаты неверны, потому что я работал в меньшем окне).

Я надеюсь, что это помогло вам (если это так, пожалуйста, дайте мне знать), хорошего дня :-)

@import url('https://fonts.googleapis.com/css?family=Montserrat:600&display=swap');
.sidebar *{
  margin: 0;
  padding: 0;
  list-style: none;
  text-decoration: none;
  box-sizing: border-box;
}
.sidebar {
  display: inline;
  font-family: 'Montserrat', sans-serif;
  height: 100vh;
}
.sidebar nav{
  position: fixed;
/*You say it needs to be a relative position but you don't say where it needs to go:*/
  top: 10px; left: 400px;
  width: 70px;
  margin-top: 150px;
  transition: all 0.3s linear;
  box-shadow: 2px 2px 8px 0px rgba(0,0,0,.4);
}

.sidebar nav li{
  height: 60px;
  position:relative;
}
.sidebar nav li a{
  color: white;
  display: block;
  height: 100%;
  width: 100%;
  line-height: 60px;
  padding-left:25%;
  border-bottom: 1px solid rgba(0,0,0,.4);
  transition: all .3s linear;
}
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  <div class = "sidebar">
    <nav>
      <ul>
        <li>
          <a href = "#"><i class = "fa fa-facebook-f"></i><span>Facebook</span></a>
        </li>
        <li>
          <a href = "#"><i class = "fa fa-instagram"></i><span>Instagram</span></a>
        </li>
      </ul>
    </nav>
  </div>
</link>

Вообще не работает

c321321sda 14.02.2023 09:43

Чтобы было ясно, анимация не работает

c321321sda 14.02.2023 09:51

Хорошо, тогда скопируйте сделанное мной изменение, но используйте его в новом div (активируйте при наведении на него курсора). пс. Будьте дружелюбны, мы только пытаемся вам помочь.

ClaryTheNoob 14.02.2023 17:58
Ответ принят как подходящий

Итак, первое, что я сделал, это добавил float:inline-end; на нашу боковую панель{} и удалил position:fixed; из нашего селектора навигации.

(моим первым побуждением было использовать flexbox, но это только я.)

Это заставит вашу боковую панель плавать в правой части экрана, а ваша навигация будет просто размещена в ней.

Затем, чтобы изменить направление нашей анимации, мы меняем padding-left:20% из .Sidebar ul li:hover a span{} на padding-right:20% и добавляем float:inline-end к .Sidebar nav li a{}.

И это почти все, что я думаю.

Мне не пришлось трогать наш html-код, поэтому вот что у меня получилось в таблице стилей:

@import url('https://fonts.googleapis.com/css?family=Montserrat:600&display=swap');

body {
    background-color: black;
}
.sidebar *{
  margin: 0;
  padding: 0;
  list-style: none;
  text-decoration: none;
  box-sizing: border-box;
}
.sidebar {
    display:inline;
    float: inline-end;
  font-family: 'Montserrat', sans-serif;
  height: 100vh;
}
.sidebar nav{
  
  width: 70px;
  margin-top: 150px;
  transition: all 0.3s linear;
  box-shadow: 2px 2px 8px 0px rgba(0,0,0,.4);
  
}
.sidebar nav li{
  height: 60px;
  position:relative;
}
.sidebar nav li a{
  color: white;
  display: block;
  float: inline-end;
  height: 100%;
  width: 100%;
  line-height: 60px;
  
  border-bottom: 1px solid rgba(0,0,0,.4);
  transition: all .3s linear;
}

.sidebar nav li a i{
  position:absolute;
  float: inline-end;
  top: 17px;
  left: 20px;
  font-size: 27px;
}
ul li a span{
    display: none;

  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.sidebar a:hover {
  z-index:1;
  width: 300px;
  border-bottom: 1px solid rgba(0,0,0,.5);
  box-shadow: 0 0 1px 1px rgba(0,0,0,.3);
}
.sidebar ul li:hover a span{

  padding-right:20%;
  display: block;

} ```

Другие вопросы по теме