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

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


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

今回は、JavaScriptやjQueryなどを使わず、HTMLとCSSのみで簡単に実装できるサンプルコードを紹介。

###目次
１　１．上にメッセージを出す場合
２　２．下にメッセージを出す場合
３　３．右メッセージを出す場合
４　４．左メッセージを出す場合

##オンマウスでポップアップメッセージを出す方法

###1.上にメッセージを出す場合
HTML側のソースコード

```HTML
<div class="Sample1">
    <p>テキストを入力</p>
    <div class="description1">説明を入力</div>
</div>
```

CSS側のソースコード

```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側のソースコード

```HTML
<div class="Sample2">
    <p>テキストを入力</p>
    <div class="description2">説明を入力</div>
</div>
```
CSS側のソースコード

```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側のソースコード

```HTML
<div class="Sample3">
    <p>テキストを入力</p>
    <div class="description3">説明を入力</div>
</div>
```

CSS側のソースコード

```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側のソースコード

```HTML
<div class="Sample4">
    <p>テキストを入力</p>
    <div class="description4">説明を入力</div>
</div>
```

CSS側のソースコード

```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;
}
```