1
1

More than 3 years have passed since last update.

[HTML&CSS]テキストのオンマウスでポップアップメッセージを表示

Posted at

概要

自分のアウトプット用の記事です。

テキストのオンマウスでポップアップメッセージを表示させる方法

今回は、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;
}
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1