Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8773

グレーアウトなよる

$
0
0
背景 フロント実装にてクリック契機等で既存画面をグレーアウトして新たな要素を出す仕組みを書いたのでその備忘録も兼ねて。 単純にモーダル機能としてだけであればBootstrapで事足りるのですがそれだと少し痒いところに手が届かないよって方向けに。。 実装例 ボタンクリックで背景グレーアウト→画像表示 Grayout.vue <template> <b-button @click="display" variant="primary" class="btn">表示</b-button> <div id="grayout" v-show="showFlag"> <div id="contents"> <!-- コンテンツを記載 --> <img id="image" :src="imgUrl"/> </div> </div> </template> <script> export default { data () { return { imgUrl: '', showFlag: false } }, methods: { display () { let random = 0 + Math.floor( Math.random() * 3 ); if (random == 0) { // 大吉 this.imgUrl = 'https://3.bp.blogspot.com/-vQSPQf-ytsc/T3K7QM3qaQI/AAAAAAAAE-s/6SB2q7ltxwg/s1600/omikuji_daikichi.png' } else if (random == 1) { // 吉 this.imgUrl = 'https://2.bp.blogspot.com/-27IG0CNV-ZE/VKYfn_1-ycI/AAAAAAAAqXw/fr6Y72lOP9s/s800/omikuji_kichi.png' } else { // 凶 this.imgUrl = 'https://4.bp.blogspot.com/-qCfF4H7YOvE/T3K7R5ZjQVI/AAAAAAAAE-4/Hd1u2tzMG3Q/s1600/omikuji_kyou.png' } this.showFlag = true } } } </script> Grayout.css <style> #grayout{ z-index:1000; position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; } #contents{ z-index:1001; } z-indexでコンテンツの出す層を設定できます。(数が大きい方が前面に表示) 様々な要素が重なり合う場合の厳密な制御が可能になりますが、1,2,3...で刻むよりは1,10,100,1000...とする方が後々改修する時に楽だったり単純にパッと見でわかりやすいのでおすすめ。

Viewing all articles
Browse latest Browse all 8773

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>