hageking
@hageking

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

htmlのかぶりについて

解決したいこと

下のコードで画像の部分を押してもpタグが移動しないようにしたいです。
どなたかわかる方解決方法を教えて下さい。
説明不足のところがあれば言ってください。

発生している問題・エラー

<!DOCTYPE html>
<html>
<style>
body {
    margin: 5px;
    padding: 0;
}

.box {
    padding: 15px;
    font-weight: 500;
    cursor: pointer;
    margin: 2em auto;
    padding: 1em;
    width: 25%;
    background-color: #fff;
    border: 1px solid #ccc;
    box-shadow: 0px 0px 8px gray;
    display: block;
    margin: 0 0 0 auto;
    left:  50px;                /* 左からの位置指定 */
    top: 50px; 
    z-index: 2;
}

.img {
    width: 5.5%;
    height: 5.5%;
    border-radius: 10%;
    background-image: url("image.jpg");
    text-align: right;
}
</style>


<body>

    <input type="image" src="My.jpeg" style=" display: block;margin: 0 0 0 auto; " onclick="display()" height="6%" width="6%"/> <div id="homebox" style="display:none;">
            <div class="box">
                <h2>test</h2>
        </div>
        <p>a</p>

    <script>
        var display = function () {
            var div = document.getElementById('homebox');
            state = div.style.display;
            if (state == "none") {
                div.setAttribute("style", "display:inline");
            } else {
                div.setAttribute("style", "display:none");
            }
        }
    </script>
</body>
0

2Answer

homeboxのdisplayをinlineではなくflexにして、高さ0にしたらいい感じになりそうです。
他にもposition:absoluteを使っても実現できると思います。

See the Pen Untitled by yotty (@yotty) on CodePen.

0Like

Comments

  1. @hageking

    Questioner

    すいません。boxの中に要素を増やすとデザインが崩れます。
    イメージとしてはqiitaの自分のアカウントを選択したときみたいなのを作りたいです。
  2. 高さ0はいけてない気がしたので、position:absoluteで作ってみました。
    こっちの作りだと、boxの要素によって高さが変動するので崩れなくなると思います。

位置を移動せずに見た目だけ非表示にしたいのであればCSSのdisplayプロパティの代わりにvisibilityプロパティが使えると思います。

0Like

Comments

  1. @hageking

    Questioner

    ありがとうございます。
    解決しました。
    HTMLとCSS初心者なのでこれからも質問するかもしれませんがその時はよろしくお願いします。

Your answer might help someone💌