Blogger Information
Blog 37
fans 0
comment 1
visits 28501
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
flex布局与position定位
kong
Original
1239 people have browsed it

定位

1. 定位 position

1.1 术语

元素: position: relation / absolute / fixed / sticky

1.2 定位类型

静态定位:static,默认定位方式

  1. <ul>
  2. <li>第一</li>
  3. <li>第二</li>
  4. </ul>
  5. <style>
  6. ul{
  7. border: 2px solid red;
  8. height: 500px;
  9. width: 500px;
  10. /* 默认定位方式 */
  11. position: static;
  12. }
  13. </style>


\

相对定位:relation, 还会在文档流中,所占空间不会释放

  1. <ul>
  2. <li>第一</li>
  3. <li>第二</li>
  4. </ul>
  5. <style>
  6. ul li:first-child{
  7. /* 相对定位 */
  8. position: relative;
  9. background-color: aqua;
  10. left: 10px;
  11. top: 10px;
  12. }
  13. </style>

绝对定位: absolute, 宽度会收缩到内容宽度,会释放空间,但是还会在父容器

  1. <ul>
  2. <li>第一</li>
  3. <li>第二</li>
  4. </ul>
  5. <style>
  6. ul li:nth-child(2){
  7. /* 绝对定位 */
  8. position: absolute;
  9. background-color: bisque;
  10. }
  11. </style>

固定定: fixed, 对最初包含块(html)进行偏移

  1. <div class="box"></div>
  2. <style>
  3. .box{
  4. /* 固定定位 */
  5. position: fixed;
  6. height: 100px;
  7. width: 100px;
  8. background-color: black;
  9. right: 0;
  10. bottom: 0;
  11. }
  12. </style>

粘性定位: stickyfixed自动切换,元素自动悬停

  1. <div class="cnt">
  2. <h1>标题1</h1>
  3. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  4. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  5. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  6. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  7. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  8. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  9. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  10. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  11. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  12. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  13. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  14. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  15. <h2>标题2</h2>
  16. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  17. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  18. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  19. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  20. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  21. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  22. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  23. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  24. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  25. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  26. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  27. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  28. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  29. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  30. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  31. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  32. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  33. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  34. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  35. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  36. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  37. <p>2023年2月20日,由中央广播电视总台携手外交部、文化和旅游部联合举办的中国影像节“一带一路”主题展映活动以线上方式正式启动。来自40多个国家和地区的50多位政要、前政要、媒体机构负责人等嘉宾代表发来视频致辞,共同祝愿本届中国影像节成功举办。</p>
  38. </div>
  39. <style>
  40. .cnt h1,
  41. .cnt h2{
  42. position: sticky;
  43. top: 0;
  44. background-color: antiquewhite;
  45. height: 100px;
  46. line-height: 100px;
  47. left: 0;
  48. }
  49. </style>

flex布局

  1. <div class="cnt">
  2. <div class="item">item1</div>
  3. <div class="item">item2</div>
  4. <div class="item">item3</div>
  5. </div>

主轴方向

  1. .cnt{
  2. /* 先转换flex容器元素 */
  3. display: flex;
  4. /* 主轴方向 row默认水平, column垂直*/
  5. flex-direction: row;
  6. }


  1. .cnt{
  2. /* 先转换flex容器元素 */
  3. display: flex;
  4. /*nowrap默认不换行 wrap超出换行*/
  5. flex-direction: row;
  6. flex-wrap: nowrap;
  7. /* 合并简写 row wrap */
  8. flex-flow: row wrap;
  9. }

主轴排列方式

  1. .cnt{
  2. display: flex;
  3. /* 默认对齐 */
  4. place-content: start
  5. }

  1. .cnt{
  2. display: flex;
  3. /* 向右对齐 */
  4. place-content: end;
  5. /*合并简写*/
  6. place-content: start end
  7. /*子元素高度为 auto 时,右下角靠齐*/
  8. }


  1. .cnt{
  2. display: flex;
  3. /* 两端对齐 */
  4. place-content: space-between;
  5. }

  1. .cnt{
  2. display: flex;
  3. /* 分散对齐 */
  4. place-content: space-around;
  5. }

  1. .cnt{
  2. display: flex;
  3. /* 平均对齐 */
  4. place-content: space-evenly;
  5. }

交叉轴排列方式

  1. .cnt{
  2. display: flex;
  3. /* 默认值 stretch与start效果一样 居上*/
  4. place-items: stretch;
  5. place-items: start;
  6. }

  1. .cnt{
  2. display: flex;
  3. /*居中显示*/
  4. place-items: center;
  5. }

  1. .cnt{
  2. display: flex;
  3. /*居下*/
  4. place-items: end;
  5. }

子元素 flex: 放大比例 允许收缩 主轴空间

比较常用: flex: 1

  1. .cnt > .item{
  2. width: 80px;
  3. height: 50px;
  4. /* flex: 放大比例 允许收缩 主轴空间 */
  5. flex: 1 0 auto;
  6. /*简写*/
  7. /* flex: initial; */
  8. }

  1. .cnt > .item{
  2. width: 80px;
  3. height: 50px;
  4. /* 完全响应允许放大和自动收缩 */
  5. flex: 1 1 auto;
  6. /*简写*/
  7. /* flex: auto; */
  8. }

  1. .cnt > .item{
  2. width: 80px;
  3. height: 50px;
  4. /* 完全不响应*/
  5. flex: 0 0 auto;
  6. /*简写*/
  7. /* flex: none; */
  8. }

  1. .cnt > .item:first-child{
  2. /* 所占比例为1 */
  3. flex: 1;
  4. }
  5. .cnt > .item:last-child{
  6. /* 所占比例为3 */
  7. flex: 3;
  8. }

子元素 调整顺序

  1. /* order 调整顺序,数值越大越靠后 默认都是0*/
  2. .cnt > .item:first-child{
  3. /* 所占比例为1 */
  4. flex: 1;
  5. order: 3
  6. }
  7. .cnt > .item:last-child{
  8. /* 所占比例为3 */
  9. flex: 3;
  10. order: 1
  11. }

总结:

定位

  1. 静态定位:static,默认定位方式
  2. 相对定位:relation, 还会在文档流中,所占空间不会释放
  3. 绝对定位: absolute, 宽度会收缩到内容宽度,会释放空间,但是还会在父容器
  4. 固定定: fixed, 对最初包含块(html)进行偏移
  5. 粘性定位: stickyfixed自动切换,元素自动悬停

flex响应式布局

  1. /* 先转换flex容器元素 */
  2. /* flex的块级元素 比较常用*/
  3. display: flex;
  4. /* flex的内联元素 */
  5. display: inline-flex;
  6. /* 主轴方向 row默认水平, column垂直*/
  7. flex-direction: row;
  8. /* 换行 默认nowrap不换行 wrap超出换行 */
  9. flex-wrap: wrap;
  10. /* 合并简写 row wrap */
  11. flex-flow: row wrap;
  12. /* 主轴排列方式 */
  13. place-content: start;
  14. place-content: end;
  15. /* 两端对齐 */
  16. place-content: space-between;
  17. /* 分散对齐 */
  18. place-content: space-around;
  19. /* 平均对齐 */
  20. place-content: space-evenly;
  21. /* 可简写 */
  22. place-content: start end;
  23. /* 交叉轴排列方式 默认值 stretch*/
  24. place-items: stretch;
  25. /*居上*/
  26. place-items: start;
  27. /*居中*/
  28. place-items: center;
  29. /*居下*/
  30. place-items: end;
  31. /* flex: 放大比例 允许收缩 主轴空间 */
  32. flex: 0 1 auto;
  33. /* 完全响应允许放大和自动收缩 */
  34. flex: 1 1 auto;
  35. /* 完全不响应 */
  36. flex: 0 0 auto;
  37. /* 所占比例为1 */
  38. flex: 1;
  39. /* order 调整顺序,数值越大越靠后 默认都是0*/
  40. order: 2;
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:总结的很好,条理清晰,没什么问题
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post