响应式布局概念,bootstrap栅格布局,rem,媒体查询

目录

一、响应式布局容器概念

二、Bootstrap 栅格布局

1. 嵌套

2.列偏移

3.列排序

4.响应式工具

三、rem

 1.less+媒体查询+rem

四、媒体查询

1.媒体查询〔 Media Query )是CSS3新语法。

2.引入资源


技术选型

  • 流式布局(百分比布局)
  • flex 弹性布局(推荐)
  • rem 适配布局(推荐)
  • 响应式布局

建议:混合技术开发,选取一种主要技术选型,其它技术做辅助, 

一、响应式布局容器概念

响应式需要一个父级作为布局容器,来配合子级元素来实现变化效果

原理:在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列方式和大小,从而实现不同屏幕下,看到不同的页面布局和样式变化。

常用响应式尺寸划分:

  • 超小屏幕(手机,小于768px ):设置宽度为100%
  • 小屏幕(平板,大于等于768px ) :设置宽度为750px
  • 中等屏幕(桌面显示器,大于等于992px ):宽度设置为970px
  • 大屏幕(大桌面显示器,大于等于1200px ):宽度设置为1170px

二、Bootstrap 栅格布局

<div class="container">
        <div class="row"> <!-- 行 -->
            <div class="col-lg-3 col-md-4 col-sm-6 col-12">1</div>
            <div class="col-lg-3 col-md-4 col-sm-6 col-12">2</div>
            <div class="col-lg-3 col-md-4 col-sm-6 col-12">3</div>
            <div class="col-lg-3 col-md-4 col-sm-6 col-12">4</div>
            
        </div>
    </div>

1. 嵌套

在列嵌套加一个row 这样可以取消父元素的padding值,高度跟随父级

<div class="container">
    <div class="row">
        <div class="col-md-4">
             <!-- 在列嵌套加一个row 这样可以取消父元素的padding值,高度跟随父级 -->
             <!-- <div class="row"> -->
                    <div class="col-md-6">a</div>
                    <div class="col-md-6">b</div>
             <!-- </div> -->
         </div>
         <div class="col-md-4">2</div>
         <div class="col-md-4">3</div>
    </div>
</div>

2.列偏移

col-md-offset-:通过 * 选择器为当前元素增加了左侧的边距(margin)

<div class="container">
        <div class="row">
            <div class="col-md-3">1</div>
            <div class="col-md-3 col-md-offset-6">2</div>
        </div>
    </div>

3.列排序

通过使用 .col-md-push-*(向右) 和 .col-md-pull-*(向左) 类就可以很容易的改变列(column)的顺序。

<div class="container">
        <div class="row">
            <div class="col-md-4 col-md-push-8">左侧</div>
            <div class="col-md-8 col-md-pull-4">右侧</div>
        </div>
    </div>

4.响应式工具

  <div class="container">
        <div class="row">
            <div class="col-xs-3">1</div>
            <div class="col-xs-3">2</div>
            <div class="col-xs-3 hidden-md">33</div>
            <div class="col-xs-3">4</div>
        </div>
    </div>

三、rem

rem (root em):是一个相对单位,类似于em,em是相对于父元素字体大小

它的基准是相对于 html 元素的字体udan

优点:就是可以通过修改html里面的文字大小来改变页面中元素的大小可以整体控制

 1.less+媒体查询+rem

 

 /* 设置常见的屏幕尺寸,修改HTML文字大小 */
        html{
            font-size: 50px;
        }
        /* 划分等分 */
        @media screen and (min-width: 320px){
            html{
                font-size: 21.33px;
            }
        }
        @media screen and (min-width: 750px){
            html{
                font-size: 50px;
            }
        }
        div{
            margin-top: 1rem;
            width: 2rem;
            height: 2rem;
            background-color: pink;
        }

四、媒体查询

1.媒体查询〔 Media Query )是CSS3新语法。

  • 使用@media查询,可以针对不同的媒体类型定义不同的样式
  • @media可以针对不同的屏幕尺寸设置不同的样式
  • 当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面
  • 目前针对很多苹果手机、Android手机,平板等设备都用得到多媒体查询

@media  mediatype  and|not|only  (media  feature){

              css-Code;

}

1、用@media开头 注意@符号

2、mediatype 煤体类型:

          all:用于所有设备

          print:用于打印机和打印预览

          screen:用于电脑屏幕,平板,智能手机等

          speech:用于屏幕阅读器

3、关健字 and not only:

          and:可以将多个媒体特性连接到一起,相当于“且”的意思

          not:排除某个媒体类型,相当于“非”的意思,可以省路。

          only:指定某个特定的媒体类型,可以省珞。

4、media  fature 媒体特性必须有小括号包含:

          width:定义输出设备中页面可见区域的宽度

          min-width:定义输出设备中页面最小可见区域宽度

          max-width:定义输出设备中页面最大可见区域宽度

//在我们屏幕上 并且  最大的宽度是 800像素 设置我们想要的样式
// 【注意:不能省略掉数字后面的单位,and要跟括号分开】
@media screen and (max-width: 800px){
      body{
        background: pink;
      }
}

@media screen and (max-width: 969px ) and (min-width: 540px){
     body{
          background-color: green;
     }
}

2.引入资源

针对于不同的屏幕尺寸,调用不同的css文件

    <!-- 引入资源:针对于不同的屏幕尺寸,调用不同的css文件 -->
    
    <!-- 当屏幕大于或等于320px,引用第一个link的样式 -->
    <link rel="stylesheet" href="某某.css" media="screen and (min-width: 320px)">
    <!-- 当屏幕大于或等于640px,引用第二个link的样式 -->
    <link rel="stylesheet" href="某某2.css" media="screen and (min-width: 640px)">
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. CSS 相邻兄弟选择器 + 相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。 相邻兄弟选择器使用了加号(+),即相邻兄弟结合符(Adjacent sibling combinator)。 2. 手机字体图标:`content: '\e958';` 电话字体图标:`content: '\e942';` 3. bootstrap最外层伸缩容器:`class="container"` 4. bootstrap伸缩布局并居中:`d-flex justify-content-center align-items-center` 5. `jQuery.data(element,[key],[value])`:在元素上存放数据,返回jQuery对象。 例如:在index界面中 ```javascript <div class="carousel-item active" data-sm-img="images/slide_01_900x410.jpg" data-lg-img="images/slide_01_2000x410.jpg"></div> <div class="carousel-item" data-sm-img="images/slide_02_900x410.jpg" data-lg-img="images/slide_02_2000x410.jpg"></div> <div class="carousel-item" data-sm-img="images/slide_03_900x410.jpg" data-lg-img="images/slide_03_2000x410.jpg"></div> ``` 在 js中,可以通过 ```javascript $('.carousel-item').data('lg-img') ``` 获取路径值。 6. bootstrap中圆角`rounded-circle` 7. 可以使用`order-*`调整显示顺序 8. 伸缩布局两步走`container+row` ```javascript <div class="container"> <div class="row"> *** </div> </div> ``` 9. 可以利用`offset`设置偏移量调整位置 10. 将jQuery对象转换为js对象可以直接通过下标取 11. 轮播图可以通过`.carousel('prev')`和`.carousel('next')`触发前后滑动事件 12. jQuery中缩小元素查找范围 ```javascript let $ul = $("#lk_product .nav"); let $allLis = $(".nav-item", $ul); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值