###概要
自分のアウトプット用の記事です。
##テキストのオンマウスでポップアップメッセージを表示させる方法
今回は、JavaScriptやjQueryなどを使わず、HTMLとCSSのみで簡単に実装できるサンプルコードを紹介。
###目次
1 1.上にメッセージを出す場合
2 2.下にメッセージを出す場合
3 3.右メッセージを出す場合
4 4.左メッセージを出す場合
##オンマウスでポップアップメッセージを出す方法
###1.上にメッセージを出す場合
HTML側のソースコード
<div class="Sample1">
<p>テキストを入力</p>
<div class="description1">説明を入力</div>
</div>
CSS側のソースコード
.Sample1{
position: relative;
cursor: pointer;
display: inline-block;
}
.Sample1 p{
margin:0;
padding:0;
}
.description1 {
display: none;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #000;
width: 100px;
}
.description1:before {
content: "";
position: absolute;
top: 100%;
left: 50%;
border: 15px solid transparent;
border-top: 15px solid #000;
margin-left: -15px;
}
.Sample1:hover .description1{
display: inline-block;
top: -70px;
left: -30px;
}
.Sample1{
position: relative;
cursor: pointer;
display: inline-block;
}
.tooltip1 p{
margin:0;
padding:0;
}
###2.下にメッセージを出す場合
HTML側のソースコード
<div class="Sample2">
<p>テキストを入力</p>
<div class="description2">説明を入力</div>
</div>
CSS側のソースコード
.Sample2{
position: relative;
cursor: pointer;
display: inline-block;
}
.Sample2 p{
margin:0;
padding:0;
}
.description2 {
display: none;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #000;
width: 100px;
}
.description2:before {
content: "";
position: absolute;
top: -24px;
right: 60%;
border: 15px solid transparent;
border-top: 15px solid #000;
margin-left: -15px;
transform: rotateZ(180deg);
}
.Sample2:hover .description2{
display: inline-block;
top: 30px;
left: 0px;
}
###3.右にメッセージを出す場合
HTML側のソースコード
<div class="Sample3">
<p>テキストを入力</p>
<div class="description3">説明を入力</div>
</div>
CSS側のソースコード
.Sample3{
position: relative;
cursor: pointer;
display: inline-block;
}
.Sample3 p{
margin:0;
padding:0;
}
.description3 {
display: none;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #000;
width: 100px;
}
.description3:before {
content: "";
position: absolute;
top: 0%;
right: 95%;
border: 15px solid transparent;
border-top: 15px solid #000;
margin-left: -15px;
transform: rotateZ(90deg);
}
.Sample3:hover .description3{
display: inline-block;
top: 0px;
left: 80px;
}
###4.左にメッセージを出す場合
HTML側のソースコード
<div class="Sample4">
<p>テキストを入力</p>
<div class="description4">説明を入力</div>
</div>
CSS側のソースコード
.Sample4{
position: relative;
cursor: pointer;
display: inline-block;
}
.Sample4 p{
margin:0;
padding:0;
}
.description4 {
display: none;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #000;
width: 100px;
}
.description4:before {
content: "";
position: absolute;
top: 0px;
left: 130px;
border: 15px solid transparent;
border-top: 15px solid #000;
margin-left: -15px;
transform: rotateZ(270deg);
}
.Sample4:hover .description4{
display: inline-block;
top: 0px;
left: -130px;
}