Как разместить основной метод в верхней части экрана - PullRequest
0 голосов
/ 21 января 2019

Проблема, с которой я сталкиваюсь, заключается в том, что все, что я печатаю в теге <main>, начинается в центре экрана, но мне нужен тег <main> для анимации на панели навигации.Кто-нибудь знает, как это исправить?

Это один из моих самых первых «проектов», и мне интересно, может ли кто-нибудь помочь мне сделать его безопасным.=)

(function() {

  var nav = $('nav'),
      menu = $('nav h1'),
      main = $('main'),
      open = false,
      hover = false;

    menu.on('click', function() {
    open = !open ? true : false;
      nav.toggleClass('menu-active');
      main.toggleClass('menu-active');
      nav.removeClass('menu-hover');
      main.removeClass('menu-hover');
      console.log(open);
  });

    menu.hover( 
      function() {
        if (!open) {
          nav.addClass('menu-hover');
          main.addClass('menu-hover');
        }
      },
      function() {
        nav.removeClass('menu-hover');
        main.removeClass('menu-hover');
      }
    );

})();
	   div{
	   	color: white;
	   }

	   html, body{
	height: 100%;
    }

    *{
	box-sizing: border-box;
	margin: 0;
  	padding: 0;
  	}

    body{
	background: #353441;
	font-family: tahoma;
	line-height: 1.7;
	perspective-origin: 0% 50%;
	perspective: 800px;
  	}

  	main{
	margin-top: 0;
  	}

  	nav,main{
	transition: transform 150ms ease-out;
  	}

  	nav{
	z-index: 100;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 16em;
	background-color: #353441;
	transform: translateX(-16em);
  	}

  	nav.menu-active{
	transform: translateX(0);
  	}
  	
  	nav.menu-hover{
	transform: translateX(-15em);
  	}

  	nav h1{
	z-index: 100;
	display: block;
	position: absolute;
	top: 0;
	right: -65px;
	height: 60px;
	width: 65px;
	line-height: 60px;
	font-size: .8em;
	font-weight: 300;
	letter-spacing: 1px;
	color: white;
	text-transform: uppercase; 
	text-align: center;
	background-color: #353441; 
	cursor: pointer;
  	}

  	nav h1:hover{
	color: white;
  	}

  	nav ul{
	margin: 0;
	padding: 0; 
  	}

  	nav li{
	display: inline-block;
	padding: 0 1em;
	width: 100%;
	height: 60px;
	color: #9dc6d1;
	line-height: 60px;
	background-color: #353441;
	transition: all .5s ease-in;
  	}

  	nav li:nth-of-type(2n){
	background-color: #3a3947;
  	}

  	nav li:hover{
	background: orangered;
	color: white;
  	}

  	main{
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	overflow: hidden; 
  	}

  	main:after{
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: linear-gradient(to right, transition, rgba(33,33,45,.5));
	visibility: hidden;
	opacity: 0;
	transition: opacity 150ms ease-out, visibility 0s 150ms;
  	}

  	main.menu-active{
	border-radius: 0.001px;
	transform: translateX(16em) rotateY(15deg);
  	}

  	main.menu-active:after{
	visibility: visible;
	opacity: 1;
	transition: opacity 150ms ease-out, visibility 0s;
  	}

  	main.menu-hover{
	border-radius: 0.001px;
	transform: translateX(1em) rotateY(1deg); 
  	}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


		<!--Navigation Bar-->

		<nav class="menu-activea">
			<h1>---</h1>
			<ul>
				<li>Domov</li>
				<li>Majice</li>
				<li>Puloverji</li>
				<li>Skodelice</li>
				<li>Galerija</li>
				<li>O nas</li>
				<li>Kontakt</li>
			</ul>
		</nav>

		<main>

			<div>Lorem ipsum dolor sit amet, consectetur adipisicing elit,   	  	  	 
      sed do eiusmod
			tempor incididunt ut labore et dolore magna aliqua. Ut enim ad   	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 
     minim veniam,
			quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
			consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
			cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
			proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>

		</main>

1 Ответ

0 голосов
/ 21 января 2019

Ваш основной тег определен с отображением flex, и он выравнивает элементы по центру.Удалите css align-items: center для основного тега, и все будет перенесено наверх:

(function() {

  var nav = $('nav'),
      menu = $('nav h1'),
      main = $('main'),
      open = false,
      hover = false;

    menu.on('click', function() {
    open = !open ? true : false;
      nav.toggleClass('menu-active');
      main.toggleClass('menu-active');
      nav.removeClass('menu-hover');
      main.removeClass('menu-hover');
      console.log(open);
  });

    menu.hover( 
      function() {
        if (!open) {
          nav.addClass('menu-hover');
          main.addClass('menu-hover');
        }
      },
      function() {
        nav.removeClass('menu-hover');
        main.removeClass('menu-hover');
      }
    );

})();
div{
	   	color: white;
	   }

	   html, body{
	height: 100%;
    }

    *{
	box-sizing: border-box;
	margin: 0;
  	padding: 0;
  	}

    body{
	background: #353441;
	font-family: tahoma;
	line-height: 1.7;
	perspective-origin: 0% 50%;
	perspective: 800px;
  	}

  	main{
	margin-top: 0;
  	}

  	nav,main{
	transition: transform 150ms ease-out;
  	}

  	nav{
	z-index: 100;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 16em;
	background-color: #353441;
	transform: translateX(-16em);
  	}

  	nav.menu-active{
	transform: translateX(0);
  	}
  	
  	nav.menu-hover{
	transform: translateX(-15em);
  	}

  	nav h1{
	z-index: 100;
	display: block;
	position: absolute;
	top: 0;
	right: -65px;
	height: 60px;
	width: 65px;
	line-height: 60px;
	font-size: .8em;
	font-weight: 300;
	letter-spacing: 1px;
	color: white;
	text-transform: uppercase; 
	text-align: center;
	background-color: #353441; 
	cursor: pointer;
  	}

  	nav h1:hover{
	color: white;
  	}

  	nav ul{
	margin: 0;
	padding: 0; 
  	}

  	nav li{
	display: inline-block;
	padding: 0 1em;
	width: 100%;
	height: 60px;
	color: #9dc6d1;
	line-height: 60px;
	background-color: #353441;
	transition: all .5s ease-in;
  	}

  	nav li:nth-of-type(2n){
	background-color: #3a3947;
  	}

  	nav li:hover{
	background: orangered;
	color: white;
  	}

  	main{
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	/* align-items: center; */
	overflow: hidden; 
  	}

  	main:after{
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: linear-gradient(to right, transition, rgba(33,33,45,.5));
	visibility: hidden;
	opacity: 0;
	transition: opacity 150ms ease-out, visibility 0s 150ms;
  	}

  	main.menu-active{
	border-radius: 0.001px;
	transform: translateX(16em) rotateY(15deg);
  	}

  	main.menu-active:after{
	visibility: visible;
	opacity: 1;
	transition: opacity 150ms ease-out, visibility 0s;
  	}

  	main.menu-hover{
	border-radius: 0.001px;
	transform: translateX(1em) rotateY(1deg); 
  	}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


		<!--Navigation Bar-->

		<nav class="menu-activea">
			<h1>---</h1>
			<ul>
				<li>Domov</li>
				<li>Majice</li>
				<li>Puloverji</li>
				<li>Skodelice</li>
				<li>Galerija</li>
				<li>O nas</li>
				<li>Kontakt</li>
			</ul>
		</nav>

		<main>

			<div>Lorem ipsum dolor sit amet, consectetur adipisicing elit,   	  	  	 
      sed do eiusmod
			tempor incididunt ut labore et dolore magna aliqua. Ut enim ad   	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 
     minim veniam,
			quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
			consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
			cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
			proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>

		</main>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...