Xiaoxiong.me

Xiaoxiong.me is a modern and clean personal website template, designed to showcase your skills and personality. The minimalistic design ensures that all important information is easily readable and accessible. This website template is perfect for anyone looking to create a professional online presence.

HTML Structure

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Xiaoxiong.me</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<!-- App Target -->
<div id="target" class="active">
<h1>Welcome to Xiaoxiong's Website!</h1>
<p>This is where you can add more information about yourself.</p>
</div>
</body>
</html>

CSS Styles

”`css

  • { font-smoothing: antialiased; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } html, body { width: 100%; margin: 0; } html { background-color: #2B2B2B; height: 100%; } body { min-height: 90%; font-family: Arial, sans-serif; letter-spacing: 1.2px; color: #ccc; text-align: center; } /* App Target - This starts hidden until we apply a class to “activate” it / #target { opacity: 0; visibility: hidden; } / Status Messages - These are displayed when we are near the bottom of the page / .status-message { position: fixed; bottom: 20px; right: 20px; background-color: #6C757D; color: white; padding: 10px; border-radius: 5px; z-index: 9999; display: none; font-size: x-large; font-weight: bold; text-align: center; border: solid rgba(255,255,255,0.1); transition: opacity ease-in-out; opacity: var(–message_opacity); max-width: calc(30% + var(–nav_width)); max-height: calc(40vh + var(–nav_height)); overflow: auto; box-shadow: var(–box_shadow); pointer-events: none; cursor: default; user-select: none; outline: none; animation-timing-function: linear; animation-iteration-count: infinite; transform-origin: top left; transform: scale(var(–scale)); transform-box: fill-box; animation-name: fadeInOutFadeUpDown; animation-duration: var(–animation_duration); transition-timing-function: linear; transition-delay: var(–transition_delay); transition-property: width, padding, height, border, opacity, transform, box-shadow, transform-box, animation-timing-function, animation-duration, transition-duration, animation-delay, transition-delay, user-select, pointer-events, outline, transform-origin, transform, animation-direction, animation-fill-mode, animation-play-state, animation-iteration-count, transition-timing-function, transition-delay, transition-property; z-index: var(–zindex); pointer-events: auto;} / Positioning styles for the status message at the bottom right corner / #target::after / Content container for the status message /{content:“”;display:block;clear:both}.status-message::before / Border container for the status message /{content:“”;position:absolute;left:calc((30% + var(–nav_width))/2);right:calc((30% + var(–nav_width))/2);top:100%;bottom:auto;border-left:5px solid red;border-right:5px solid red}.status-message::after / Content container for the status message /{display:flex;justify-content:center;align-items:center}.status-message span / Text inside the status message /{font-size:smaller;margin:0em auto}.status-message button / Button within the status message /{margin:1em auto}@media screen and (max-width:768px){#target{padding:3rem}}@keyframes fadeInOutFadeUpDown{from{opacity:1}to{opacity:0}}@keyframes fadeInOutFadeUpDownFade{from{transformY:0}to{transformY:1}}@keyframes fadeInOutFadeUpDownFadeFadeUpDown{from{transformY:1}to{transformY:2},from{transformX:0}to{transformX:1},from{opacity:1}to{opacity:0},from{opacity:0}to{opacity:1}}@keyframes fadeInOutFadeUpDownFadeUpDownFadeInOut{from{transformY:2},from{transformX:1},from{opacity:1}to{opacity:0},from{opacity:0}to{opacity:1},from{transformY:1}to{transformY=40%}}@keyframes fadeInOutFadeUpDownFadeUpDownFadeFadeUpDownFadeInOutFadeInOutFadeInOutFadeUpDownFadeInOutFadeInOutFadeUpDownFadeInOutFadeInOutFadeUpDownFadeInOutFadeInOutFadeUpDownFadeInOutFadeInOutFadeUpDownFadeInOutFadeInOutFadeUpDownFadeInOutFadeInOutFadeUpDownFadeInOutFadeInOutFadeUpDownFadeInOutFadeInOutFadeUpDownFadeInOutFadeInOutFadeUpDown(){4%{transformY}:40%;4.4%{transformY}:28%;4.8%{transformY}:16%;5.2%{transformY}:8%;5.6%{transformY}:4%;6%{transformY}:0%}}@keyframes fadeInOutFadeUpDownFadeUpDownFadeUpDown{}@keyframes fadeInOutFadeUpDownFadeUpDownFade{}@keyframes fadeInOutFadeUpDown{}@keyframes fadeInOut{}@supports not (animation){#target::after::after::after::after::before::before::before::content::content::after::before::before::content::content::content::before::content::content::content::before::content::content::content::content::content::content::before::content::content::content::after::after::after::after::content::content::content{}#target::after::after::after::after::before::before::before::after::before::after{}#target::after::after{}#target ::before{}#target ::after{}#target ::before ::before{}#target ::after ::before {}#target ::before {}#target ::after {}#target ::after {}.statusMessage[data‐animation‐name]{animation‐name}animation‐name}{fADE_UP_DOWN}/ Fades in and out from up to down /.statusMessage[data‐animation‐name]{animation‐name}{fADE_IN_OUT}/ Fades in and out from down to up /.statusMessage[data‐animation‐name]{animation‐name}{fADE_IN_OUT_UP_DOWN}/ Fades in and out in both directions /.statusMessage[data‐animation‐name]{animation‐name}{fADE_IN_OUT_LEFT_RIGHT}/ Fades in and out in two directions /.statusMessage[data‐animation‐name]{animation‐name}{fADE_IN_OUT_UP_DOWN_LEFT_RIGHT}/ Fades in and out in all four directions */@media not (prefers({-}color)){#target *{ backgroundtcolor\tinherit color\tinherit text\tdecoration\tinherit texttshadow\tinherit}}@media not (prefers({-}color)){#target *{ color\tinherit text\tdecoration\tinherit} a { color\tinherit texttdecoration\tinherit} b { color\tinherit text\tdecoration\tinherit} c { color\tinherit text\tdecoration\tinherit} d { color