Solve the mobile terminal jump problem (CSS transition, target pseudo-class)

Solve the mobile terminal jump problem (CSS transition, target pseudo-class)

Preface

Many friends who have just come into contact with mobile terminals may have some doubts about click jump routing, especially when using Vue routing, so this article will lead friends to try to use CSS to jump to the page

The effect is as shown in the figure. Since it is a mobile terminal, the mobile phone simulation is selected for preview:

HTML

    <body>
        <main>
            <div id="shouye">shouye</div>
            <div id="zhanlan">zhanlan</div>
            <div id="geren">geren</div>
        </main>
        <nav>
            <a href="#shouye" class="alink">shouye</a>
            <a href="#zhanlan" class="alink">zhanlan</a>
            <a href="#geren" class="alink">geren</a>
        </nav>
    </body>

It is mainly divided into two parts: main and nav. The three divs contained in main represent three different pages, and correspond to three different a's in nav. It should be noted that the href in the a tag corresponds to the id of the three divs contained in main.

CSS

*{
padding: 0;
margin: 0;
}
body{
height: 100vh;
width: 100vw;
display: flex;
flex-direction: column;
position: relative;
}
body::after{/*Default background*/
content: "this is my text";
font-size:4em;
position: absolute;
left: 50%;
top: 50%;
opacity: .8;
transform: translate(-50%,-50%);
}
main{
width: 100%;
flex: 1;
position: relative;
}
nav{
background-color: #2C3E50;
height: 8vh;
display: flex;
justify-content: space-between;
align-items: center;
}
nav .alink{
flex: 1;
color: #C3BED4;
text-align: center;
font-size: 2.5em;
text-decoration: none;
text-transform:uppercase;
opacity: .8;
}
nav .alink:nth-child(2){
border-left: solid 1px #E9E9E9;
border-right: solid 1px #E9E9E9;
}
main>div{
position: absolute;
width: 100%;
height: 100%;
font-size: 5em;
transform: translateY(-100%);
transition-duration: 1s;
}
main>div:target{/*: target pseudo class is the div that is clicked after setting the a link*/
transform: translateY(0);
z-index: 2;
}
main>div:nth-child(1):target{
background-color: #008000;
}
main>div:nth-child(2):target{
background-color: #495A80;
}
main>div:nth-child(3):target{
background-color: #FFFF00;
}

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

<<:  After docker run, the status is always Exited

>>:  Detailed explanation of two points to note in vue3: setup

Recommend

javascript to switch by clicking on the picture

Clicking to switch pictures is very common in lif...

Using HTML+CSS to track mouse movement

As users become more privacy-conscious and take m...

Detailed explanation of the use of custom parameters in MySQL

MySQL variables include system variables and syst...

HTML tags list and usage instructions

List of HTML tags mark type Name or meaning effec...

Implementation example of nginx access control

About Nginx, a high-performance, lightweight web ...

Complete Tutorial on Deploying Java Web Project on Linux Server

Most of this article refers to other tutorials on...

How to set default value for datetime type in MySQL

I encountered a problem when modifying the defaul...

Example of how to create and run multiple MySQL containers in Docker

1. Use the mysql/mysql-server:latest image to qui...

js implements clock component based on canvas

Canvas has always been an indispensable tag eleme...

The iframe refresh method is more convenient

How to refresh iframe 1. To refresh, you can use j...

MySQL 8.0.21.0 Community Edition Installation Tutorial (Detailed Illustrations)

1. Download MySQL Log in to the MySQL official we...

How to use echarts to visualize components in Vue

echarts component official website address: https...

Vue3 (Part 2) Integrating Ant Design Vue

Table of contents 1. Integrate Ant Design Vue 2. ...

Centos8 bridge static IP configuration method in VMware virtual machine

1. Make sure the network connection method is bri...

Summary of Node.js service Docker container application practice

This article will not explain the use and install...