使用原生input模拟器样式正常,但是真机上 input框溢出

目录

一、问题

二、解决方法

三、总结


tiips:如嫌繁琐,直接移步总结即可!

一、问题

1.使用原生input写了一个搜索框,在模拟器和pc上一切正常。但是打包放到手机上,样式就有问题:这个搜索框的布局是正常的,但是聚焦到input上,就可以看到input明显溢出了!

二、解决方法

1.真是奇怪,我也没有写什么奇怪的东西呀。pc端和移动端的模拟器都是没有问题的。

布局就是简单的flex布局。input 框 flex:1,其余图标自适应。怎么到移动端就有问题呢?

 1)代码如下:

<template>
<!-- 搜索组件 --><div :class="['search-wrap', { round: round }]"><template v-if="isCenterStart"><span class="center" @click.stop="clickCenter"><span class="icon left-icon" v-if="leftIcon"><svg-icon :iconClass="leftIcon"></svg-icon></span><span>{{ placeholder }}</span></span></template><template v-else><span class="icon left-icon" v-if="leftIcon"><svg-icon :iconClass="leftIcon"></svg-icon></span><inputv-model="currentValue"class="input-area":placeholder="placeholder"@input="handleInput"@focus="handleFocus"@blur="handleBlur"/><span v-if="currentValue" class="icon right-icon clear-icon" @click.stop="handleClear"><svg-icon :iconClass="'clearInput'"></svg-icon></span><span v-if="rightIcon" :class="['icon', { 'right-icon': rightIcon }]"><svg-icon :iconClass="rightIcon"></svg-icon></span><slot></slot></template></div>
</template>
<script>
import { nextTick } from 'process';
import { defineComponent, onMounted, ref, watch, getCurrentInstance } from 'vue';
//使用的时候需要用v-model
export default defineComponent({props: {//搜索框的值value: {type: String,default: ''},//提示placeholder: {type: String,default: '请输入'},//左图标leftIcon: {type: String,default: 'search'},//右图标rightIcon: {type: String,default: ''},//是否圆角round: {type: Boolean,default: false},//刚开始是否居中isCenter: {type: Boolean,default: false}},components: {},setup(props, { emit, slots }) {const { proxy } = getCurrentInstance();//当前输入的值const currentValue = ref('');onMounted(() => {currentValue.value = props.value;});//输入事件const handleInput = () => {//输入了字符再触发// if (currentValue.value?.trim()) {emit('input', currentValue.value);// }};//清除const handleClear = () => {currentValue.value = '';setCenter();emit('input', currentValue.value);emit('clear');};//聚焦const handleFocus = () => {emit('focus', currentValue.value);};//失焦const handleBlur = () => {setCenter();emit('blur', currentValue.value);};//初始时是否显示在中间const isCenterStart = ref(props.isCenter);const clickCenter = () => {isCenterStart.value = false;nextTick(() => {proxy.$el.querySelector('input')?.focus();});};const setCenter = () => {if (props.isCenter && !currentValue.value) {isCenterStart.value = true;}};watch(() => props.value,(newVal) => {currentValue.value = newVal;});return {currentValue,handleInput,handleClear,handleFocus,handleBlur,clickCenter,isCenterStart};}
});
</script>
<style lang="scss" scoped>
.search-wrap {display: flex;justify-content: space-between;padding: 20px 40px;background: #f1f3f7;border-radius: 18px;align-items: center;.icon {display: flex;align-items: center;justify-content: center;font-size: 48px;}.right-icon {margin-left: 20px;}.clear-icon {font-size: 60px;}.input-area {flex: 1;font-size: 51px;line-height: 69px;margin-left: 36px;border: none;background: none;&::placeholder {color: #acacac;}&:focus-visible {outline: none;}}
}
.round {background: rgba(255, 255, 255, 0.5);border-radius: 54px;
}
.center {width: 100%;display: flex;justify-content: center;color: #acacac;font-size: 51px;line-height: 75px;transition: ease-in-out;span {margin-left: 36px;}
}
</style>

2.只能一个个试试到底哪个样式有问题。

3.发现注释了 最外层父盒子的 display:flex,竟然不溢出了。

4.但是吧,我确实需要用flex布局,让子元素一行显示,这样的修改显然不科学。。。

5.最后的最后发现,只需要在 input上 加上样式 width:100%;就好了。甚至flex:1`都不需要!!!!!

6.问题是解决了,但是原因真不知道。。。。。

三、总结

1.移动端怎么会有这么多奇怪的问题呢?

2.移动端确实需要在真机上测试才靠谱!

3.移动端input溢出:尝试设置input width:100%;

4.猜测可能是手机上有内置的样式,所以我们不设置的时候,使用了默认的样式,导致了最终的样式和预期不一致。(有大佬知道原因,欢迎评论区告知,非常感谢!)

/*

希望对你有帮助!

如有错误,欢迎指正,非常感谢!

*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/630031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广州银行IPO再添堵:原董事长被查,资产质量承压,罚单频现

撰稿|行星 来源|贝多财经 广州银行的上市之路&#xff0c;或因前高管涉嫌违纪再添一层阴云。 前不久&#xff0c;广州市纪委监委披露的信息显示&#xff0c;广州银行原党委书记、董事长姚建军涉嫌严重违纪违法&#xff0c;正在接受纪律审查和监察调查。据贝多财经了解&#…

代码随想录-刷题第五十七天

42. 接雨水 题目链接&#xff1a;42. 接雨水 思路&#xff1a;本题十分经典&#xff0c;使用单调栈需要理解的几个问题&#xff1a; 首先单调栈是按照行方向来计算雨水&#xff0c;如图&#xff1a; 使用单调栈内元素的顺序 从大到小还是从小到大呢&#xff1f; 从栈头&…

【AI】RTX2060 6G Ubuntu 22.04.1 LTS (Jammy Jellyfish) 部署Chinese-LLaMA-Alpaca-2

下载源码 cd ~/Downloads/ai git clone --depth1 https://gitee.com/ymcui/Chinese-LLaMA-Alpaca-2 创建venv python3 -m venv venv source venv/bin/activate安装依赖 pip install -r requirements.txt 已安装依赖列表 (venv) yeqiangyeqiang-MS-7B23:~/Downloads/ai/Chi…

软件测试【测试用例设计】面试题详解

前言 今天笔者想和大家来聊聊测试用例&#xff0c;这篇文章主要是想要写给测试小伙伴们的&#xff0c;因为我发现还是有很多小伙伴在遇到写测试用例的时候无从下手&#xff0c;我就想和大家简单的聊聊&#xff0c;这篇文章主要是针对功能测试的。 一、微信功能测试 1.点击点…

QGroundControl Qt安卓环境搭建及编译出现的问题

记录Qt 5.15.2搭建安卓环境出现的各种问题。 zipalign tool not found: D:/JavaAndroid/Android/sdk/build-tools//zipalign.exe&#xff1f; 答&#xff1a;需要将DANDROID_PLATFORM升级到已下载的版本. bin/llvm-readobj.exe: error: unknown argument ‘–libs’ 答&…

07-微服务getaway网关详解

一、初识网关 在微服务架构中&#xff0c;一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢&#xff1f;如果没有网关的存在&#xff0c;我们只能在客户端记录每个微服务的地址&#xff0c;然后分别去调用。这样的话会产生很多问题&#xff0c;例…

链表的中间节点

链表的中间节点 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&#xff0c;轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/middle-of-the-…

【1】SM4 CBC-MAC 机制

0x01 题目 MSG1: e55e3e24a3ae7797808fdca05a16ac15eb5fa2e6185c23a814a35ba32b4637c2 MAC1: 0712c867aa6ec7c1bb2b66312367b2c8 ----------------------------------------------------- MSG2: d8d94f33797e1f41cab9217793b2d0f02b93d46c2ead104dce4bfec453767719 MAC2: 4366…

Vue3的使用

一 Vue3的变化 1.性能的提升 打包大小减少41% 初次渲染快55%, 更新渲染快133% 内存减少54% 2.源码的升级 使用Proxy代替defineProperty实现响应式 重写虚拟DOM的实现和Tree-Shaking 3.拥抱TypeScript Vue3可以更好的支持TypeScript 4.新的特性 Composition API&#…

【UE 材质】简单的纹理失真、溶解效果

目录 1. 失真效果 2. 溶解效果 3. 失真溶解 我们一开始有这样一个纹理 1. 失真效果 其中纹理节点“DistortTexture”的纹理为引擎自带的纹理“T_Noise01”&#xff0c;我们可以通过控制参数“失真度”来控制纹理的失真程度 2. 溶解效果 3. 失真溶解

kafka简单介绍和代码示例

“这是一篇理论文章&#xff0c;给大家讲一讲kafka” 简介 在大数据领域开发者常常会听到MQ这个术语&#xff0c;该术语便是消息队列的意思&#xff0c; Kafka是分布式的发布—订阅消息系统。它最初由LinkedIn(领英)公司发布&#xff0c;使用Scala语言编写&#xff0c;与2010年…

HTML---Jquery选择器

文章目录 目录 文章目录 本章目标 一.Jquery选择器概述 二.Jquery选择器分类 基本选择器 层次选择器 属性选择器 三.基本过滤选择器 练习 本章目标 会使用基本选择器获取元素会使用层次选择器获取元素会使用属性选择器获取元素会使用过滤选择器获取元素 …

SQL Server 数据类型

文章目录 一、文本类型&#xff08;字母、符号或数字字符的组合&#xff09;二、整数类型三、精确数字类型四、近似数字&#xff08;浮点&#xff09;类型五、日期类型六、货币类型七、位类型八、二进制类型 一、文本类型&#xff08;字母、符号或数字字符的组合&#xff09; 在…

【物联网】物联网设备和应用程序涉及协议的概述

物联网设备和应用程序涉及协议的概述。帮助澄清IoT层技术栈和头对头比较。 物联网涵盖了广泛的行业和用例&#xff0c;从单一受限制的设备扩展到大量跨平台部署嵌入式技术和实时连接的云系统。 将它们捆绑在一起是许多传统和新兴的通信协议&#xff0c;允许设备和服务器以新的…

奥伦德光电耦合器5G通信领域及其相关领域推荐

光电耦合器是以光为媒介传输电信号的一种电-光-电转换器件。由于该器件使用寿命长、工作温度范围宽&#xff0c;所以在过程控制、工业通信、家用电器、医疗设备、通信设备、计算机以及精密仪器等方面有着广泛应用在当前工艺技术持续发展与提升的过程中&#xff0c;其工作速度、…

新能源汽车智慧充电桩方案:如何实现充电停车智慧化管理?

一、方案概述 基于新能源汽车充电桩的监管运营等需求&#xff0c;安徽旭帆科技携手合作伙伴触角云共同打造“智能充电设备&#xff0b;云平台&#xff0b;APP小程序”一体化完整的解决方案&#xff0c;为充电桩车位场所提供精细化管理车位的解决办法&#xff0c;解决燃油车恶意…

用时序数据库 DolphinDB 搭建一套轻量化工业试验平台解决方案

DolphinDB 作为集成了高容量高速度流数据分析系统和强大编程语言的一站式解决方案&#xff0c;旨在为用户提供快速存储、检索、分析和计算庞大的结构化数据服务。本文将提供一个轻量化的工业试验平台数据处理解决方案&#xff0c;快速简单地实现海量数据采集、存储、处理和分析…

HTML 列表 iframe

文章目录 列表无序列表有序列表自定义列表 iframe 引入外部页面 列表 列表 是 装载 结构 , 样式 一致的 文字 或 图表 的容器 ; 列表 由于其 整齐 , 整洁 , 有序 的特征 , 类似于表格 , 但是其 组合的自由程度高于表格 , 经常用来进行布局 ; HTML 列表包括如下类型 : 无序列…

【IAP】核心开发流程

最近做了IAP U盘升级模块开发&#xff0c;总结下IAP基本开发流程&#xff0c;不深入讨论原理。 详细原理参考 首先需要知道我们需要把之前的APP区域拆一块出来做BOOT升级程序区域。 以STM32F103为例&#xff0c;0x08000000到0x0807FFFF为FLASH空间&#xff0c;即上图代码区域…

Unity解决Udp客户端无法接收数据的问题

Unity解决Udp客户端无法接收数据的问题 在我之前做过的项目中&#xff0c;其中不少涉及Udp客户端的项目。在这些项目中&#xff0c;一般只需要实现客户端向服务器端发送数据的功能就可以了&#xff0c;一般都不用接收服务器端发送的数据&#xff0c;但是也有同学使用了我分享的…