前端响应式布局

1.1 视口

即:屏幕的可视窗口

  1. 视口单位
    在这里插入图片描述

  2. 视口转换
    100vh = 100% = 整个页面的高度 = 整个高度的像素
    100wh = 100% = 整个页面的宽度 = 整个宽度的像素

  3. vw,wh与百分比的区别

  1. 百分比是基于[父元素] 的宽度/高度的百分比,vw,vh是根据视窗的宽度/高度的百分比。
  2. 在百分比与获取的都是页面宽高时,视口单位优势在于vh] 能够直接获取高度,而用%在没有设置 body高度情况下,是无法正确获得可视区域的高度
  3. 当页面有滚动条时,在百分比与ww获取的都是相同宽高时,100%是不包含滚动条的,100vw是包含滚动条的宽度/高度

1.2 em 与 rem

  1. 初识em
  • em是font size of the element的简称,是指相对于父元素的字体大小的单位。
  • em单位的主要问题是它们与元素的字体大小有关。因此,它们可能会层叠起来并导致意想不到的结果。
  1. 初识 rem
  • rem是font size of the rootelement的简称,是指相对于根元素的字体大小的单位。
  • 在根元素的font-size属性中指定时,rem单位是指属性的初始值这意味着1rem等于html元素的字体大小(对于大多数浏览器而言其默认值为16px)
  1. 转换
    在这里插入图片描述
  2. rem布局

1加载s文件
2.所有数值除以100
3.使用rem单位

1.3 媒体查询的方法

1.3.1 媒体类型

all : 适用于所有设备
print : 适用于在打印预览的模式下
screen : 主要用于屏幕
speech : 主要用于语音合成器

    <style>
        @media all{
            h2{
            border: 2px solid black;
        }
        }
        h2{
            font-size: 10px;
        }
    </style>
</head>
<body>
    <h2>博爱u速度非法所得</h2>

在这里插入图片描述

1.3.2 媒体特性

width :viewport的宽度,有 max-width 与 min-width 。
height :viewport的高度,有max-height与 min-height。
aspect-ratio :viewport的宽高比
orientation :viewport的旋转方向,有 portrait (竖屏)与== landscape== (横屏)两种

@media  (orientation:landscape){
            h2{
            border: 2px solid black;
        }
        }
        h2{
            font-size: 10px;
        }
    </style>
</head>
<body>
    <h2>博爱u速度非法所得</h2>

1.3.3 逻辑运算符

and :用于将多个媒体查询规则组合成单条媒体查询
not :用于否定媒体查询,如果不满足这个条件则执行内容,否则将不执行
only :用于旧版浏览器识别媒体类型使用
逗号 :用于将多个媒体查询合并为一个规则

 @media not all and (max-width:1000px) and (orientation:landscape){
            h2{
            border: 2px solid black;
        }
        }
        h2{
            font-size: 10px;
        }
    </style>
</head>
<body>
    <h2>博爱u速度非法所得</h2>

1.3.4 link标签方式

  <!-- 横屏时插入样式 -->
    <link rel="stylesheet" href="./1.css" media="(orientation:landscape)">
    <!-- 竖屏时插入样式 -->
    <link rel="stylesheet" href="./2.css" media="(orientation:portrait)">
</head>
<body>
    <div class="bos">esafchopii</div>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

1.4 响应式断点设置

1.4.1 编写位置

添加到样式表底部,对css进行优先级的覆盖

1.4.2 阈值设定

常见阈值:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: <div style="width: 100%; overflow: hidden;"> <div style="width: 50%; float: left;"> <div style="width: 100%; height: 20px; background-color: #e6e6e6;"></div> <div style="width: 100%; height: 20px; background-color: #f2f2f2;"></div> <div style="width: 100%; height: 20px; background-color: #e6e6e6;"></div> </div> <div style="width: 50%; float: left;"> <div style="width: 100%; height: 20px; background-color: #f2f2f2;"></div> <div style="width: 100%; height: 20px; background-color: #e6e6e6;"></div> <div style="width: 100%; height: 20px; background-color: #f2f2f2;"></div> </div> </div> ### 回答2: 当然,我可以帮你写一段前端响应式布局的代码。 首先,我们需要使用HTMLCSS来实现这个布局。以下是一段简单的代码示例,展示了如何创建一个响应式的布局: ```html <!DOCTYPE html> <html> <head> <style> .container { display: flex; flex-wrap: wrap; } .item { width: 100%; padding: 20px; box-sizing: border-box; } @media screen and (min-width: 600px) { .item { width: 50%; } } @media screen and (min-width: 900px) { .item { width: 33.33%; } } </style> </head> <body> <div class="container"> <div class="item" style="background-color: #F44336;">Item 1</div> <div class="item" style="background-color: #E91E63;">Item 2</div> <div class="item" style="background-color: #9C27B0;">Item 3</div> <div class="item" style="background-color: #673AB7;">Item 4</div> <div class="item" style="background-color: #3F51B5;">Item 5</div> <div class="item" style="background-color: #2196F3;">Item 6</div> <div class="item" style="background-color: #4CAF50;">Item 7</div> <div class="item" style="background-color: #FF9800;">Item 8</div> <div class="item" style="background-color: #795548;">Item 9</div> </div> </body> </html> ``` 在这个示例中,我们使用了Flexbox来创建布局。`.container`类定义了一个Flex容器,`.item`类定义了Flex项(子元素)。在不同的屏幕宽度下,`.item`的宽度会有所调整,从而实现响应式布局。 通过`@media`查询,我们可以在特定的屏幕宽度下设置不同的样式。在示例中,当屏幕宽度大于等于600像素时,每个`.item`的宽度为50%;当屏幕宽度大于等于900像素时,每个`.item`的宽度为33.33%。 你可以根据需要修改`.item`的样式和媒体查询的条件来适应你的具体需求。希望这段代码能够对你有帮助! ### 回答3: 前端响应式布局是指根据设备的屏幕大小和分辨率自动调整网页布局,使得网页能够在不同的设备上呈现出最佳效果。下面是一个简单的前端响应式布局代码示例: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>响应式布局示例</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } .container { display: flex; flex-wrap: wrap; justify-content: space-between; } .item { width: 300px; margin-bottom: 20px; background-color: lightblue; padding: 20px; } @media (max-width: 768px) { .item { width: 100%; } } </style> </head> <body> <div class="container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> <div class="item">Item 4</div> </div> </body> </html> ``` 在上述代码中,我们使用了Flexbox布局(`.container`),使得四个`.item`元素能够水平排布,并且间距相等。每个`.item`元素的宽度为300px。但是当设备的宽度小于768px时,我们使用了媒体查询(`@media`)来改变`.item`的宽度为100%,使得它们能够自动适应不同设备的屏幕大小。 这段代码是一个简单的响应式布局示例,你可以根据实际需求进行修改和扩展,以适应你的项目需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值