亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 11
粉絲 0
評(píng)論 0
訪問(wèn)量 9803
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
響應(yīng)式布局
向日葵
原創(chuàng)
1093人瀏覽過(guò)

響應(yīng)式布局:媒體查詢

響應(yīng)式布局的最大特點(diǎn)就是隨著設(shè)備屏幕的大小改變,頁(yè)面布局發(fā)生改變。
而我們一般的布局前提是寬度受限而高度不受限的空間。
以下,我們一PC端布局為例,進(jìn)行響應(yīng)式布局的解析:
首先頁(yè)面中有三個(gè)按鈕

  1. <button class="btn small">按鈕1</button>
  2. <button class="btn middle">按鈕2</button>
  3. <button class="btn large">按鈕3</button>
  4. <style>
  5. /* 小按鈕 */
  6. .btn.small {
  7. font-size: 1.2rem;
  8. }
  9. /* 中按鈕 */
  10. .btn.middle {
  11. font-size: 1.6rem;
  12. }
  13. /* 大按鈕 */
  14. .btn.large {
  15. font-size: 1.8rem;
  16. }
  17. </style>
如何實(shí)現(xiàn)隨著瀏覽器窗口的大小變化而按鈕的大小也發(fā)生變化呢?
  • 我們先設(shè)置頁(yè)面的默認(rèn)文本大小為16px;(不設(shè)置的話,默認(rèn)就是16px);
  1. html {
  2. font-size: 16px;
  3. }
  • 當(dāng)屏幕大小小于1366px的時(shí)候,我們規(guī)定他的字體變小,為13.66px;
  1. @media (max-width 1366px) {
  2. html {
  3. font-size:13.66px;
  4. }
  5. }

  • 當(dāng)屏幕大小大于1920px時(shí),我們規(guī)定他的字體變大,為19.2px;
  1. @media (min-width : 1920px){
  2. html {
  3. font-size:19.2px;
  4. }
  5. }

  • 當(dāng)屏幕大小介于1366到1920px之間時(shí),我們?cè)O(shè)置他的根文本字號(hào)為18px;
  1. @media (min-width:1366px) and (max-width:1919px) {
  2. html {
  3. font-size:18px;
  4. }
  5. }

綜上,我們可以總結(jié)一下響應(yīng)式布局的寫(xiě)法,首先基本語(yǔ)法是@media開(kāi)頭,有兩種寫(xiě)法:@media only screen and (max-width:XXXpx)=@media (max-width:XXXpx);
其中的max-width的含義為當(dāng)屏幕寬度小于XX值的時(shí)候,min-width的含義為當(dāng)屏幕寬度大于XX值的時(shí)候。即畫(huà)一條軸來(lái)表示:

利用固定定位,寫(xiě)一個(gè)登錄的蒙層

首先分析一下需求,我們需要一個(gè)登錄頁(yè)面的蒙層,那么勢(shì)必是有一個(gè)原始頁(yè)面,然后點(diǎn)擊登錄按鈕之后,觸發(fā)蒙層頁(yè)面顯示。

那么我這寫(xiě)了一個(gè)很簡(jiǎn)單的原始頁(yè)面,有個(gè)頭部,頭部有個(gè)登錄按鈕,然后有一些簡(jiǎn)單的樣式

  1. <header>
  2. <h1 class="title">霍格沃茲魔法學(xué)院</h1>
  3. <button onclick="document.querySelector('.modal').style.display='block'">
  4. 登錄
  5. </button>
  6. </header>
  7. <style>
  8. /* 初始化 */
  9. * {
  10. margin: 0;
  11. padding: 0;
  12. box-sizing: border-box;
  13. }
  14. body {
  15. background-image: url('images/bg.jpg');
  16. }
  17. header {
  18. background-image: url('images/mao.jpg');
  19. background-size: 100% 100%;
  20. padding: 0.5em 1em;
  21. display: flex;
  22. }
  23. header .title {
  24. font-weight: lighter; /*設(shè)置文本的粗細(xì),normal默認(rèn),bold加粗,bolder更粗的,lighter更細(xì)的,或數(shù)字*/
  25. font-style: italic; /*設(shè)置文本樣式,normal默認(rèn),italic斜體,oblique傾斜的*/
  26. color: azure;
  27. text-shadow: 1px 1px 1px #555; /*文本陰影效果 水平陰影位置,垂直陰影位置,模糊距離,顏色*/
  28. letter-spacing: 1px; /*設(shè)置h1,h2字母間距*/
  29. }
  30. header button {
  31. margin-left: auto;
  32. width: 5em;
  33. border: none;
  34. border-radius: 0.5em;
  35. }
  36. header button:hover {
  37. background-color: blueviolet;
  38. color: white;
  39. cursor: pointer; /*圓角*/
  40. box-shadow: 0 0 10px white;
  41. transition: 0.3s;
  42. }
  43. </style>

重點(diǎn)來(lái)了,寫(xiě)一個(gè)登錄表單,在頁(yè)面點(diǎn)擊登錄的時(shí)候跳出來(lái)

  1. <!-- 模態(tài)框表單 -->
  2. <div class="modal">
  3. <div
  4. class="modal-bg"
  5. onclick="this.parentNode.style.display='none'"
  6. ></div>
  7. <form action="a.php" method="post" class="modal-form">
  8. <fieldset style="display: grid; gap: 1em;">
  9. <legend>用戶登錄</legend>
  10. <input type="email" name="email" placeholder="email@email.com" />
  11. <input type="password" name="password" placeholder="******" />
  12. <button>登錄</button>
  13. </fieldset>
  14. </form>
  15. </div>
  1. /* 模態(tài)框表單 */
  2. .modal .modal-form fieldset {
  3. background-color: lightcyan;
  4. border: none;
  5. padding: 2em;
  6. box-shadow: 0 0 5px #888;
  7. }
  8. /* 模態(tài)框表單標(biāo)題 */
  9. .modal .modal-form fieldset legend {
  10. padding: 5px 1em;
  11. background-color: rebeccapurple;
  12. color: white;
  13. }
  14. .modal .modal-form {
  15. /* 固定定位 */
  16. position: fixed;
  17. /* 頂部留出預(yù)留 */
  18. top: 15em;
  19. /* 左右相等,把表單放正中間 */
  20. left: 20em;
  21. right: 20em;
  22. }
  23. .modal .modal-bg {
  24. position: fixed;
  25. /*全部鋪滿*/
  26. top: 0;
  27. left: 0;
  28. right: 0;
  29. bottom: 0;
  30. background-color: rgb(0, 0, 0, 0.5); /*0.5透明度*/
  31. }
  32. .modal {
  33. display: none;
  34. }

那么來(lái)看一下神奇的效果吧

flex布局

定義一個(gè)flex布局的容器:
display:flex
flex容器中的子元素被稱為彈性項(xiàng)目或flex項(xiàng)目
flex容器上只要記住三個(gè)屬性就可以了:
flex-flow:主軸方向 換行,例:flex-flow:row nowrap(不換行【wrap為可換行】)

place-content:項(xiàng)目在主軸上的排列和剩余空間的分配
【值:start起始邊對(duì)齊,end結(jié)束邊對(duì)齊,center居中對(duì)齊,space-between兩端對(duì)齊,space-around分散對(duì)齊,space-evenly平均對(duì)齊】

place-items:項(xiàng)目在交叉軸上的對(duì)齊方式
【值:stretch如果子項(xiàng)加起來(lái)的尺寸小于對(duì)齊容器的尺寸,則任何未尺寸為 auto 的項(xiàng)將增加同等的大?。ú皇前幢壤?,但也會(huì)受到 max-height/max-width (或等同的功能)的限制,因此所有項(xiàng)剛好能填滿對(duì)齊容器;start:起始邊對(duì)齊;end:結(jié)束邊對(duì)齊;center:居中對(duì)齊】

flex容器上的flex屬性

flex 屬性用于設(shè)置或檢索彈性盒模型對(duì)象的子元素如何分配空間。
flex 屬性是 flex-grow、flex-shrink 和 flex-basis 屬性的簡(jiǎn)寫(xiě)屬性。
注意:如果元素不是彈性盒模型對(duì)象的子元素,則 flex 屬性不起作用。
flex:放大因子 收縮因子 計(jì)算寬度

參數(shù) 備注
放大因子(flex-grow): 一個(gè)數(shù)字,規(guī)定項(xiàng)目將相對(duì)于其他靈活的項(xiàng)目進(jìn)行擴(kuò)展的量。
收縮因子(flex-shrink): 一個(gè)數(shù)字,規(guī)定項(xiàng)目將相對(duì)于其他靈活的項(xiàng)目進(jìn)行收縮的量。
計(jì)算寬度(flex-basis): 項(xiàng)目的長(zhǎng)度。合法值:”auto”、”inherit” 或一個(gè)后跟 “%”、”px”、”em” 或任何其他長(zhǎng)度單位的數(shù)字。
auto = 1 1 auto
none = 0 0 auto
initial = 0 1 auto (默認(rèn)值)
inherit 從父級(jí)繼承

另外flex的項(xiàng)目上還可以設(shè)置order屬性,order=0的時(shí)候是默認(rèn)值,order=1的時(shí)候會(huì)往后排,order=-1會(huì)往前排,也就是order越小越靠前!

批改老師:PHPzPHPz

批改狀態(tài):合格

老師批語(yǔ):
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)