首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

图片不变形,宽高超出元素情况下旋转图片

demo 如题,具体效果见这里 。做这样效果难点在于,计算没旋转前图片宽,高和旋转后宽高。 下面来看具体实现。 实现步骤 图片在元素水平居中,垂直居中显示。我用是 flex。...imgWrap = $('.img-wrap') let wrapSize = { width: $imgWrap.width(), height: $imgWrap.height() } 计算图片在元素宽高...我们知道图片在旋转 (2n * 90)度元素宽高是一样,((2n + 1) * 90) 度元素宽高是一样。...图片宽和高要满足 超出元素 图片不能变形 在上面的条件下,图片宽高只有有限值可以选。... 旋转 (2n * 90) 度情况下 图片宽为元素宽,高度自适应 图片高为元素高,宽度自适应 旋转((2n + 1) * 90) 度情况下 图片宽为元素高,高度自适应 图片高为元素

2K30

未知大小元素设置居中

当提到web设计居中元素时。关于被居中元素和它元素信息,你知道越多就越容易设置。那么假如当你不知道任何信息?居中也是可设置。...以下这些方法不太全面,现做补充。 1) 待居中元素外 包裹table-cell,设置table-cell只是table-cell元素table-cell居中。...Tables和常规块级div相比确实有一些不同地方。比如100%width,table会根据table里内容伸展table宽度,然而默认情况下块级元素会伸展它宽度为元素宽度。...那么这个ghost元素是一个无语意元素,它是一个pseudo元素。 ? 我要告诉你是这个ghost元素技巧是更好方式并且应该是你想要居中技巧近些年来。...最好做法是元素设置font-size:0 并在子元素设置一个合理font-size。

4K20
您找到你想要的搜索结果了吗?
是的
没有找到

css学习笔记,持续记录。

flex-shrink,默认为1,所有子元素长宽超出元素缩放占比(超出长宽除以所有子元素shrink加起来数量,就是单份缩放大小,为0时代表不进行缩放) flex-grow,默认为0,所有子元素长宽超出元素缩放占比...(超出长宽除以所有子元素shrink加起来数量,就是单份缩放大小,为0时代表不进行缩放) flex-basis,定义容器初始大小,默认为容器自身定义大小,未定义则跟随内容。...属性,absolute生成绝对定位元素,是相对于 static 定位以外第一个元素进行定位;relative则是生成相对定位元素,相对于其正常位置进行定位。...HTML,如果你用空格键产生此空格,空格是不会累加(只算1个)。...解决当元素没有高度时,子级元素浮动会使元素高度塌陷问题 解决子级元素外边距会使元素塌陷问题 42. ul list-style失效 默认情况下ul下li都会自带一个列表样式,如果个ul

2.6K60

微信 H5 页面兼容性解决方案

最近给公司微信公众号,写了微信h5业务页面,总结分享一下前端开发过程几个兼容性坑,项目直接拿公司页面,所以下文涉及图片都模糊处理了。...1、ios端兼容input光标高度 问题详情描述:input输入框光标安卓手机上显示没有问题,但是苹果手机上 当点击输入时候,光标的高度和盒子高度一样。...出现原因分析:通常我们习惯用height属性设置行间高度和line-height属性设置行间距离(行高),当点击输入时候,光标的高度就自动和盒子高度一样了。...失去焦点时候软键盘消失 但是还是占位 导致input框不能再次输入 失去焦点时候给一个事件 解决办法: <div class="title...document.activeElement.scrollIntoView(); }, 500); } } 拓展知识: Element.scrollIntoView()方法当前元素滚动到浏览器窗口可视区域内

3.3K30

【H5】344- 微信 H5 页面兼容性解决方案

1、ios端兼容input光标高度 问题详情描述:input输入框光标安卓手机上显示没有问题,但是苹果手机上 当点击输入时候,光标的高度和盒子高度一样。...出现原因分析:通常我们习惯用height属性设置行间高度和line-height属性设置行间距离(行高),当点击输入时候,光标的高度就自动和盒子高度一样了。...3、ios键盘唤起,键盘收起以后页面不归位 问题详情描述: 输入内容,软键盘弹出,页面内容整体上移,但是键盘收起,页面内容不下滑 出现原因分析: 固定定位元素 元素内 input 框聚焦时候...弹出软键盘占位 失去焦点时候软键盘消失 但是还是占位 导致input框不能再次输入 失去焦点时候给一个事件 解决办法: <div class...document.activeElement.scrollIntoView(); }, 500); } } 拓展知识: Element.scrollIntoView()方法当前元素滚动到浏览器窗口可视区域内

2.6K30

HTML5拖放功能

光标拖放事件 html5提供了7个与拖放相关光标事件: 按照时间顺序: 第一,开始拖拽时触发事件,事件作用对象是被拖拽元素-dragstart事件 第二,拖放过程触发事件,事件作用对象是被拖拽元素...-drag事件 第三,拖放元素进入本元素范围内时触发,事件作用对象是拖放过程光标经过元素-dragenter元素 第四,拖放元素正在本元素范围内移动时触发,事件作用对象是拖放过程光标经过元素...-dragover元素 第五,拖放元素离开本元素范围时触发,事件作用对象是拖放过程光标经过元素-dragleave元素 第六,拖放元素被拖放到本元素时触发,事件作用对象是拖放目标元素...[imgElement]表示图片对象,[x],[y]分别表示相对于光标位置横坐标和纵坐标 第五,addElement()方法:添加一起跟随拖放元素,如果想某个元素跟随被拖动元素一起被拖放,则使用此方法...addElement([element]) [element]表示一起跟随拖动元素对象 示例 // 源元素 拖动

2.6K10

分享12个实用 CSS 进阶小技巧

方案一:设置其父元素font-size:0px 方案二: img 样式添加display:block 方案三: img 样式添加vertical-align:bottom 方案四:将元素样式增加为...line-height:5px 2、如何元素高度与窗口相同 当前前端CSS单位为vh,元素高度样式设置为height:100vh 3、修改输入框占位符样式 input::-webkit-input-placeholder...样式 这段CSS代码作用是为一个输入框设置了边框、圆角、尺寸和光标颜色等样式,同时定义了输入框占位文本样式。...当内容足够多时,按钮应该跟随内容。当你遇到类似的问题时,可以使用flex来实现智能布局!...9、解决iOS滚动条卡住问题 苹果手机上,滚动时元素经常会卡住。此时只有一行CSS会支持弹性滚动。

24530

微信H5页面兼容性解决方案

1、ios端兼容input光标高度 问题详情描述:input输入框光标安卓手机上显示没有问题,但是苹果手机上 当点击输入时候,光标的高度和盒子高度一样。...出现原因分析:通常我们习惯用height属性设置行间高度和line-height属性设置行间距离(行高),当点击输入时候,光标的高度就自动和盒子高度一样了。...3、ios键盘唤起,键盘收起以后页面不归位 问题详情描述: 输入内容,软键盘弹出,页面内容整体上移,但是键盘收起,页面内容不下滑 出现原因分析: 固定定位元素 元素内 input 框聚焦时候...弹出软键盘占位 失去焦点时候软键盘消失 但是还是占位 导致input框不能再次输入 失去焦点时候给一个事件 解决办法: <div class...); document.activeElement.scrollIntoView(); }, 500); }} 拓展知识: Element.scrollIntoView()方法当前元素滚动到浏览器窗口可视区域内

3.3K43

CSS基础知识点整理笔记

嵌套块元素垂直边距合并,当元素没有设置border、padding情况下,父子元素margin边距会合并,其取值为较大值 css3新特性 答案解析 常用css3新特性:动画属性animation...、弹性布局盒子、颜色设置支持rgba、媒体查询@media、盒子属性定义、形状转换transform、text相关属性(超出内容换行、超出内容展示形式) div{ overflow:hidden...元素处于自身所在浏览器窗口时,与relative特性一致,当超出自身所在浏览器窗口,则于position特性一致 inherit 默认继承定位属性 说一下css3选择器有那些,以及优先级 答案解析...答案解析: 清除浮动是指的是元素元素设置float导致元素高度为0情况 解决方案 元素设置属性为:overflow:hidden (实质是触发BFC) 元素增加一个新元素,添加属性...: 默认0,定义子元素相对于其他子元素元素分配完还有剩余空间情况下放大比例 flex-shrink:默认1,定义子元素相对于其他子元素元素空间不足时相对于其他子元素缩放比例 flex-basis

1.4K20

overflow:hidden作用能治住塌陷_html溢出隐藏代码

一. overflow:hidden 溢出隐藏 给一个元素设置overflow:hidden,那么该元素内容若超出了给定宽度和高度属性,那么超出部分将会被隐藏,不占位。... 效果如下: 一般情况下页面,一般溢出后会显示省略号,比如,当一行文本超出固定宽度就隐藏超出内容显示省略号。...当元素内部元素全部都设置浮动float之后,子元素会脱离标准流,不占位,元素检测不到子元素高度,元素高度为0。...如下: 由于IE比较低版本浏览器中使用overflow:hidden;是不能达到这样效果,因此需要加上 zoom:1; 所以为了兼容性更好的话,如果需要使用overflow:hidden来清除浮动...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.8K30

有意思鼠标指针交互探究

利用 cursor 修改鼠标样式 cursor CSS 属性设置鼠标指针类型,鼠标指针悬停在元素上时显示相应样式。...当然,本交互,我们并非要将 cursor 光标设置成任一样式,刚好相反,我们需要将他隐藏。...以文章一开头例子为例,我们只需要借助混合模式 mix-blend-mode: exclusion,就能够实现模拟鼠标指针能够智能地不同背景色下改变自己颜色。...当然,这个也非常好解决,我们只需要给模拟指针元素,添加上 pointer-events: none,阻止默认鼠标事件,事件透传即可: { pointer-events: none; } 鼠标跟随...而且,鼠标跟随,我们不一定一定要使用 JavaScript。 我 不可思议纯 CSS 实现鼠标跟随 一文,介绍了一种纯 CSS 实现鼠标跟随效果,感兴趣也可以看看。

1.6K30

CSS基础布局

那么有 没有可能 元素 也成为BFC,元素 接管(元素)自身宽高呢?...* 页面 不同设备上 能正常使用 * 主要处理是 屏幕大小问题(严格来讲 还涉及到 是否有鼠标 是否是读屏软件 是否支持一些样式) * 具体方法上 涉及到 设计 和 实现 两方面。...如何清除浮动,为什么清除浮动 这是因为 float元素 不会占据元素布局空间,有可能 float元素 就会超出 元素,从而对其它元素 造成影响。...清除方式: * 盒子负责自己布局(overflow:hidden(auto)) 设置超出时 要怎么办,那么就会管理 什么时候会超出 * ::after...,而是加一个伪元素 放到浮动元素后面,从而元素 包含浮动元素

2.9K20

CSS3 - 清除浮动

通过上图可以看到,设置图片左浮动可以将图片从正常文档流抽取出来,后面的元素会忽略浮动元素原来位置,所以可以看到以块元素显示span标签插入到了图片下面,但是,我们发现文字却不会嵌入到图片下面,因为这就是浮动最纯粹意义...ul设置高度情况下,无法被子元素撑开(能够看到背景色是因为我设置了ulpadding为10px),所以当你在后边新增元素时候,自然会排在ul后边,也就是插入到了3个浮动板块下面。...(1) 最后一个浮动 li 元素后边新增一个空块状元素div,并设置clear:both以清除所有浮动。... 效果: ul后边div元素确实可以浮动元素下边排列,并且设置margin、padding等也是针对浮动元素下边框。...缺点: 采用这种overflow方法时可能会对采用定位position元素产生影响,因为ul范围内,超出部分将会被隐藏,所以如果定位元素处在ul超出范围内,那么会被隐藏。

10310
领券