JSFiddle - React, Tailwind, and code Playground
CSS
:root {
--purple: #3B3646;
--red: #EE4B5A;
}
* {
padding: 0;
margin: 0;
border: none;
}
body {
padding: 30px;
color: #333;
font-family: 'Roboto Slab', system-ui;
font-weight: 400;
font-style: normal;
font-size: 18px;
}
.container {
margin: 0 auto;
max-width: 550px;
}
.highlight {
background: rgba(255,215,0,0.115);
}
h1 {
color: var(--red);
font-family: 'Quicksand', sans-serif;
font-weight: 500;
font-size: 30px;
margin-bottom: 20px;
}
h3 {
font-family: 'Quicksand', sans-serif;
font-size: 21px;
font-weight: 500;
color: var(--red);
margin-bottom: 20px;
}
p, ul {
margin-bottom: 20px;
line-height: 1.75em;
}
li {
list-style: none;
margin-bottom: 10px;
}
li:last-child {
margin-bottom: 0;
}
input[type="checkbox"] {
margin-top: 10px;
margin-right: 15px;
float: left;
}
label {
display: inline-block;
max-width: 90%;
}
code {
color: var(--red);
font-family: monospace;
font-size: 16px;
background: #f7f7f7;
padding: 3px 5px;
border-radius: 3px;
border: 1px solid #ebebeb;
}
button#ihavecookiesBtn {
margin-left: 0px !important;
}
/* Cookie Dialog */
#gdpr-cookie-message {
position: fixed;
right: 30px;
bottom: 30px;
max-width: 375px;
background-color: var(--purple);
padding: 20px;
border-radius: 5px;
box-shadow: 0 6px 6px rgba(0,0,0,0.25);
margin-left: 30px;
font-family: system-ui;
}
#gdpr-cookie-message h4 {
color: var(--red);
font-family: 'Quicksand', sans-serif;
font-size: 18px;
font-weight: 500;
margin-bottom: 10px;
}
#gdpr-cookie-message h5 {
color: var(--red);
font-family: 'Quicksand', sans-serif;
font-size: 15px;
font-weight: 500;
margin-bottom: 10px;
}
#gdpr-cookie-message p, #gdpr-cookie-message ul {
color: white;
font-size: 15px;
line-height: 1.5em;
}
#gdpr-cookie-message p:last-child {
margin-bottom: 0;
...
JavaScript
/*!
* ihavecookies - jQuery plugin for displaying cookie/privacy message
* v0.3.2
*
* Copyright (c) 2018 Ketan Mistry (https://iamketan.com.au)
* Licensed under the MIT license:
* http://www.opensource.org/licenses/mit-license.php
*
*/! function(p) {
p.fn.ihavecookies = function(e, o) {
var i = p(this),
t = p.extend({
cookieTypes: [{
type: "Webサイトパフォーマンス",
value: "preferences",
description: "Webサイトの設定に関連するCookieです(例:ユーザー名、サイトの色等"
}, {
type: "解析",
value: "analytics",
description: "Webサイト訪問、ブラウザなどに関連するCookieです"
}, {
type: "マーケティング",
value: "marketing",
description: "マーケティング関連のCookieです(例:ニュースレター、SNS等"
}],
title: "Cookieとプライバシー",
message: "Cookieを使用する事で、ショッピングカートの使用や、WebサイトでのUXのパーソナライズ、Webサイトへ訪問の有無を記憶、広告や検索の効果の測定、ユーザーの行動把握に役立てます。ユーザーとのコミュニケーションを主な目的である事を前提とします",
link: "/privacy-policy",
delay: 2e3,
expires: 30,
moreInfoLabel: "詳細",
acceptBtnLabel: "Cookieを受け入れ",
advancedBtnLabel: "Cookieのカスタマイズ",
cookieTypesTitle: "受け入れるCookieを選択",
fixedCookieTypeLabel: "必要",
fixedCookieTypeDesc: "こちららは、Webサイトが正しく機能するために不可欠なCookiesです。",
onAccept: function() {},
uncheckBoxes: !1
}, e),
n = u("cookieControl"),
c = u("cookieControlPrefs");
if (n && c && "reinit" != o) {
var r = !0;
"false" == n && (r = !1), d(r, t.expires)
} else {
p("#gdpr-cookie-message").remove();
var a = '<li><input type="checkbox" name="gdpr[]" value="necessary" checked="checked" disabled="disabled"> <label title="' + t.fixedCookieTypeDesc +...