HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html>
tag. If you want to add classes there that can affect the whole document, this is the place to do it.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. If you need things in the <head>
of the document, put that code here.
The resource you are linking to is using the 'http' protocol, which may not work when the browser is using https.
CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.
It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, choose Neither and nothing will be applied.
To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit-
or -moz-
.
We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).
Any URL's added here will be added as <link>
s in order, and before the CSS in the editor. If you link to another Pen, it will include the CSS from that Pen. If the preprocessor matches, it will attempt to combine them before processing.
You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.
If the stylesheet you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
You can also link to another Pen here, and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
JavaScript preprocessors can help make authoring JavaScript easier and more convenient.
Babel includes JSX processing.
Any URL's added here will be added as <script>
s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.
You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we'll add it, in the order you have them, before the JavaScript in the Pen itself.
If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
You can also link to another Pen here, and we'll pull the JavaScript from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
Search for and use JavaScript packages from npm here. By selecting a package, an import
statement will be added to the top of the JavaScript editor for this package.
Using packages here is powered by Skypack, which makes packages from npm not only available on a CDN, but prepares them for native JavaScript ES6 import
usage.
All packages are different, so refer to their docs for how they work.
If you're using React / ReactDOM, make sure to turn on Babel for the JSX processing.
If active, Pens will autosave every 30 seconds after being saved once.
If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.
If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.
Visit your global Editor Settings.
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Cresta.design</title>
<link rel="stylesheet" href="./css/reset.css">
<link href="https://fonts.googleapis.com/css?family=Noto+Sans+JP|Roboto&display=swap" rel="stylesheet">
<link rel="stylesheet" href="./css/style.css">
</head>
<body>
<!-- header -->
<header class="header">
<h1 class="site-title"><a href="./">クリ★スタ</a></h1>
<div class="nav-wrapper">
<nav class="header-nav">
<ul class="nav-list">
<li class="nav-item"><a href="#about">About</a></li>
<li class="nav-item"><a href="#blog">News</a></li>
<li class="nav-item"><a href="#access">Access</a></li>
</ul>
</nav>
</div>
<button class="burger-btn">
<span class="bars">
<span class="bar bar_top"></span>
<span class="bar bar_mid"></span>
<span class="bar bar_bottom"></span>
</span>
</button>
</header>
<!-- //header -->
<!-- main -->
<main>
<!-- fv -->
<div class="fv">
<p class="main-copy">Cresta.Design</p>
</div>
<!-- //fv -->
<!-- about -->
<section class="section-wrapper" id="about">
<h2 class="section-title">About</h2>
<h3 class="about-title">ミニマルで<br>洗練されたデザインを。</h3>
<p class="text_about">近年、ミニマルなデザインが流行しています。そこで弊社では、クライアント企業様新規サービス等の課題に対してミニマルで洗練されたデザインを実現させることで解決のサポートを致します。もちろん全てのサービスにおいてミニマルなデザインが課題解決になるわけではないので、課題や今後のサービスの展開等しっかりとヒアリングを行なった上でご提案させて頂きます。
</p>
</section>
<!-- //about -->
<!--service -->
<section class="section-wrapper" id="service">
<h2 class="section-title">Service</h2>
<div class="content-inner">
<div class="text-wrapper_service">
<h3 class="service-title">リリース時のサポートで<br>サービスのブランディングを</h3>
<p class="section-text_service">
弊社では、リリース時もサポートさせて頂きます。プレスリリース用のサイトや動画制作を通して、サービスのブランディングを行わせて頂きます。
</p>
</div>
<div class="img-wrapper_service">
<img src="https://drive.google.com/uc?export=view&id=16l_4EvoVBKm1Vu8WesRIgisMZfCKjJZY" alt="黒い布の上に置かれた黒い一眼レフカメラ">
</div>
</div>
<div class="content-inner reverse">
<div class="text-wrapper_service">
<h3 class="service-title">リリース後のサポートで<br>効果を最大化させる</h3>
<p class="section-text_service">
弊社では、リリース後もサポートさせて頂きます。サービスはリリース後に様々な課題にぶつかります。そこでクライアント様と一緒に改善を行うことで、デザインの効果を最大化させます。
</p>
</div>
<div class="img-wrapper_service">
<img src="https://drive.google.com/uc?export=view&id=1Uif2Ch2m5pnIUuTWqEiZUCVe1qwu4UXG" alt="黒い布の上に置かれた黒いアイフォン">
</div>
</div>
</div>
</section>
<!-- //service -->
<!-- News -->
<section class="section-wrapper" id="blog">
<div class="section-inner">
<h2 class="section-title">NEWS</h2>
<ul class="card-list">
<li class="card-item">
<a href="#!">
<div class="card-img">
<img src="https://drive.google.com/uc?export=view&id=1_QC1qlYK_8IbZgQojdrvL0esg1sqQVfI" alt="黒い背景にあるPC">
</div>
<p class="text_news">新規サイトを公開しました。今回のサイトは白と黒を基調にしたミニマルなデザインになっています。</p>
</a>
</li>
<li class="card-item">
<a href="#!">
<div class="card-img">
<img src="https://drive.google.com/uc?export=view&id=1_QC1qlYK_8IbZgQojdrvL0esg1sqQVfI" alt="黒い背景にあるPC">
</div>
<p class="text_news">新規サイトを公開しました。今回のサイトは白と黒を基調にしたミニマルなデザインになっています。</p>
</a>
</li>
<li class="card-item">
<a href="#!">
<div class="card-img">
<img src="https://drive.google.com/uc?export=view&id=1_QC1qlYK_8IbZgQojdrvL0esg1sqQVfI" alt="黒い背景にあるPC">
</div>
<p class="text_news">新規サイトを公開しました。今回のサイトは白と黒を基調にしたミニマルなデザインになっています。</p>
</a>
</li>
</ul>
</div>
</section>
<!-- //News -->
<!-- Contact -->
<section class="section-wrapper">
<h2 class="section-title">Contact</h2>
<form action="" class="form">
<div class="form-part">
<label for="input-name">担当者名</label>
<input type="text" id="input-subject">
</div>
<div class="form-part">
<label for="input-tel">電話番号</label>
<input type="text" id="input-subject">
</div>
<div class="form-part">
<label for="input-mail">メールアドレス</label>
<input type="text" id="input-subject">
</div>
<div class="form-part">
<label for="detail">お問い合わせ内容</label>
<textarea name="" type="text" id="detail" cols="30" rows="10"></textarea>
</div>
<div class="form-send">
<input type="submit" value="送信" class="form-btn">
</div>
</form>
</section>
<!-- //Contact -->
</main>
<!-- //main -->
<!-- footer -->
<footer class="footer">
<small>©︎crest.design all rights reserved</small>
</footer>
<!-- //footer -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="./js/script.js"></script>
</body>
</html>
/* rset.css */
/**
* YUI 3.5.0 - reset.css (http://developer.yahoo.com/yui/3/cssreset/)
* http://cssreset.com
* Copyright 2012 Yahoo! Inc. All rights reserved.
* http://yuilibrary.com/license/
*/
/*
TODO will need to remove settings on HTML since we can't namespace it.
TODO with the prefix, should I group by selector or property for weight savings?
*/
html{
color:#000;
background:#FFF;
}
/*
TODO remove settings on BODY since we can't namespace it.
*/
/*
TODO test putting a class on HEAD.
- Fails on FF.
*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
margin:0;
padding:0;
}
table {
border-collapse:collapse;
border-spacing:0;
}
fieldset,
img {
border:0;
}
/*
TODO think about hanlding inheritence differently, maybe letting IE6 fail a bit...
*/
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
font-style:normal;
font-weight:normal;
}
ol,
ul {
list-style:none;
}
caption,
th {
text-align:left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-size:100%;
font-weight:normal;
}
q:before,
q:after {
content:'';
}
abbr,
acronym {
border:0;
font-variant:normal;
}
/* to preserve line-height and selector appearance */
sup {
vertical-align:text-top;
}
sub {
vertical-align:text-bottom;
}
input,
textarea,
select {
font-family:inherit;
font-size:inherit;
font-weight:inherit;
}
/*to enable resizing for IE*/
input,
textarea,
select {
*font-size:100%;
}
/*because legend doesn't inherit in IE */
legend {
color:#000;
}
/* YUI CSS Detection Stamp */
#yui3-css-stamp.cssreset { display: none; }
/* style.css */
/* ------------------ */
/* base */
/* ------------------ */
html{
font-size: 62.5%;
}
body{
color:#141414;
font-size:1.4rem;
line-height:1.8;
letter-spacing: 0.05em;
font-family: 'Roboto', sans-serif,'Noto Sans JP', sans-serif;
}
.noscroll{
overflow: hidden;
}
img{
width:100%;
vertical-align: bottom;
}
a{
text-decoration: none;
color:#fff;
}
.section-title{
font-size: 3.6rem;
font-weight: bold;
text-align: center;
letter-spacing: 0.05em;
margin-bottom: 70px;
}
h3{
font-size: 2.4rem;
font-weight: bold;
line-height:2;
letter-spacing: 0.1em;
margin-bottom: 40px;
}
.section-wrapper{
padding:100px 10% 50px;
}
/* ------------------ */
/* header */
/* ------------------ */
.header{
background-color: #1B1310;
color: #fff;
height:74px;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 120px;
border-bottom:1px solid #fff;
}
.nav-list{
/* navの横並び */
display: flex;
}
.nav-item{
/* メニューの右側に余白 */
margin-right: 55px;
}
.burger-btn{
display: none;
}
/* ------------------ */
/* fv */
/* ------------------ */
.fv{
/* 画面の高さの90に指定 */
height:90vh;
/* 背景画像の設定 */
background-image: url(https://drive.google.com/uc?export=view&id=1KiBAmJAbba1BglsHGnlKWEKzj6wCL9kq);
background-size: cover;
background-position: center;
/* メインコピーの上下左右中央寄せ */
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.main-copy{
font-size: 5rem;
color: #fff;
font-weight: bold;
border:2px solid #fff;
padding: 34px 42px;
}
/* ------------------ */
/* about */
/* ------------------ */
/* ------------------ */
/* service */
/* ------------------ */
.text-wrapper_service,.img-wrapper_service{
max-width: 480px;
}
.content-inner{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.reverse{
margin-top: 50px;
flex-direction: row-reverse;
}
/* ------------------ */
/* news */
/* ------------------ */
.card-list{
display: flex;
justify-content: space-between;
align-items: center;
}
.card-item{
max-width: 320px;
box-shadow: 0px 0px 6px rgba(27, 19, 16, 0.4);
margin-right:10px;
}
.text_news{
color:#141414;
padding: 33px 25px;
}
/* ------------------ */
/* contact */
/* ------------------ */
.form{
max-width: 700px;
margin: 0 auto;
}
input,textarea{
border: 1px solid #141414;
padding: 10px;
}
.form-part{
display: flex;
flex-direction: column;
margin-top: 25px;
}
label{
margin-bottom: 5px;
}
#input-subject,textarea{
line-height: 2;
font-size: 1.6rem;
}
textarea{
resize: none;
height: 171px;
}
.form-send{
text-align: center;
margin-top: 50px;
}
.form-btn{
display: inline-block;
width: 235px;
padding: 20px 97px;
border-radius: 30px;
font-size: 2rem;
font-weight: bold;
text-align: center;
color: #fff;
background-color: #1B1310;
box-shadow: 0px 0px 6px #1B1310;
}
/* ------------------ */
/* footer */
/* ------------------ */
footer{
background-color: #1B1310;
height: 80px;
}
small{
display: block;
text-align: center;
color: #fff;
padding-top: 30px;
}
@media screen and (max-width:768px){
/* ----------------------- */
/* base_sp
/* ----------------------- */
h3{
font-size: 2rem;
margin-bottom: 30px;
}
.section-wrapper{
padding:100px 5% 50px;
}
/* ------------------ */
/* humberger-menu */
/* ------------------ */
.header{
padding: 0 5%;
}
.burger-btn{
display: block;
width: 39px;
height: 39px;
position: relative;
z-index: 3;
/* codepenの挙動のため */
background-color:transparent;
border:none;
}
.bar{
width: 20px;
height: 1px;
display: block;
position: absolute;
left: 50%;
transform: translateX(-50%);
background-color: #fff;
}
.bar_top{
top: 10px;
}
.bar_mid{
top: 50%;
transform: translate(-50%,-50%);
}
.bar_bottom{
bottom: 10px;
}
.burger-btn.close .bar_top{
transform: translate(-50%,10px) rotate(45deg);
transition: transform .3s;
}
.burger-btn.close .bar_mid{
opacity: 0;
transition: opacity .3s;
}
.burger-btn.close .bar_bottom{
transform: translate(-50%,-8px) rotate(-45deg);
transition: transform .3s;
}
.nav-wrapper{
display: none;
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 2;/*キービジュアルと.btn_triggerとの重なりの前後関係を調整*/
}
.header-nav{
width: 100%;
height: 100%;
background-color:#1B1310;
z-index: 2;
}
.header-nav .nav-list{
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
text-align: center;
}
.header-nav .nav-item{
margin-right: 0;
margin-bottom: 40px;
}
/* ------------------ */
/* fv */
/* ------------------ */
.main-copy{
font-size: 3rem;
}
/* ------------------ */
/* service */
/* ------------------ */
.content-inner{
flex-direction:column;
margin:50px auto;
}
.img-wrapper_service{
margin-top: 40px;
}
.img-wrapper_service img{
height:150px;
object-fit:cover;
}
/* ------------------ */
/* news */
/* ------------------ */
.card-list{
flex-direction: column;
}
.card-item{
margin: 50px 0 0;
}
}
.card-list li:first-child{
margin-top: 0;
}
}
$('.burger-btn').on('click',function(){//.btn_triggerをクリックすると
$('.burger-btn').toggleClass('close');//.btn_triggerにcloseクラスを付与(ボタンのアニメーション)
$('.nav-wrapper').fadeToggle(500);//.nav-wrapperが0.5秒でフェードイン(メニューのフェードイン)
$('body').toggleClass('noscroll');//bodyにnoscrollクラスを付与(スクロールを固定)
});
if( $(window).width() < 768 ){//デバイスの幅が768以下のとき
$('.nav-item>a').on('click',function(){//.nav-item>aをクリックすると
$('.nav-wrapper').fadeOut(500);//.nav-wrapperが0.5秒でフェードアウト(メニューのフェードアウト)
$('.burger-btn').removeClass('close');//.btn_triggerのcloseクラスを削除
$('body').removeClass('noscroll');//bodyのnoscrollクラスを削除
});
}
Also see: Tab Triggers