- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 jQuery,但老实说我不能 100% 确定这完全是 jQuery 问题。
该插件适用于画廊/ slider ,但这也可能并不重要。我提到它以防有人好奇。
这里...我有一个图像并决定了高度和宽度,这是需要重置为全屏宽度的宽度。我想保持宽高比,因此在调整宽度大小时,图像的高度变得大于屏幕的高度。没关系。这就是我想要的。全面覆盖。但这就是有点困惑的地方。
我又计算了一下,多余的高度(img高度-浏览器高度)是X。所以我设置img的margin-top:-(X/2)。换句话说,图像将垂直居中,顶部和底部的位相等。我希望我说得有道理。
这在 FireFox 和 IE 中工作正常,但在 Chrome 中我最终在底部出现了一 strip 。如果我去掉 margin-top: 位,那么黑带就会消失,浏览器似乎会自行垂直居中图像。但这样就搞砸了 FF 和 IE。
我想知道我是否误解了定位、溢出、浏览器如何解释全屏溢出等一些更微妙的点。另外,我想提一下,这个“ slider ”是响应式的,所以我可以在样式表中固定宽度和/或高度。我一直在使用 .attr() 来处理我提到的任何猴子业务。
另一件事,有时我的插件在 Chrome 中运行良好,有时会出现错误。例如,我将 slider 暂停,无需单击开始即可开始播放。我应该寻找什么?这只是我的第二个插件,所以我仍然是新手,并且可能比我当前的技能水平更雄心勃勃:)
最佳答案
如果您使用.attr()
您只能设置/获取属性。如果您想更改 style
属性,您可以使用 .css()
或.attr('style', '<some-style>')
.前者是首选,因为这就是它的用途,但后者可以工作,但它会覆盖任何其他内联样式,而 .css()
将允许您仅编辑您想要的样式,而不影响其他样式。
文档:
.attr()
: http://api.jquery.com/attr .css()
: http://api.jquery.com/css 这是我想到的:
//cache the image we want to manipulate
var $img = $('img');
//bind an event handler to the `resize` event for the viewport
$(window).on('resize', function () {
//get the width and height of the viewport and store it in an object,
//also get the aspect ratio of the image and it's calculated height based on the viewport's width
var viewport = {
width : $(this).width(),
height : $(this).height()
},
ratio = ($img.height() / $img.width()),
imgHeight = Math.floor(viewport.width * ratio);
//update the CSS of the image element
$img.css({
width : viewport.width,
height : imgHeight,
marginTop : (imgHeight > viewport.height) ? Math.floor((imgHeight - viewport.height) / 2 * -1) : 0
});
//trigger a `resize` event to fire on the `window` object for page-load so the element is loaded as full-width
}).trigger('resize');
这是一个演示:http://jsfiddle.net/Zex4S/1/
请注意.on()
是 jQuery 1.7 中的新功能,在本例中与 .bind()
相同。 : http://api.jquery.com/on
(imgHeight > viewport.height) ? Math.floor((imgHeight - viewport.height) / 2 * -1) : 0
:这是一段重要的代码,是一个三元运算。
(imgHeight > viewport.height)
:这是 if 语句的开头,检查是否 imgHeight
值大于 viewport.height
值。
? Math.floor((imgHeight - viewport.height) / 2 * -1)
:如果语句解析为 true
那么这就是将返回的内容, imgHeight
减去viewport.height
除以二并乘以负一(返回负值以使图像垂直居中)。
: 0
:最后如果 if
语句解析为 false
然后我们会返回该图像,它将图像停靠在其容器的顶部。
关于jquery - 将图像放大至全屏,保持宽高比,然后居中。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9236625/
我正在尝试使用 Qt 制作游戏,因为它太棒了 ;) 而且您可以免费获得所需的所有东西。唯一的问题是更改系统分辨率和设置 QWidget(或 QGLWidget)“真正的”全屏。 你们中有人成功地做到了
有没有办法以全屏模式(没有工具栏、导航)启动 gwt-app? 我只找到了打开新窗口的提示: Window.open("SOMEURL","SOMETITLE", "fullscreen=yes
if (!document.fullscreenElement && !document.mozFullScreenElement && !document.webkitFullscr
我想解释一下我现在在做什么。我开发了一个 aar(sdk) 并且运行良好。但是,我希望我的 sdk 在被调用时占据全屏,即使调用者有一个工具栏。我尝试了此链接中的示例 [ How to set act
我是 Blazor 的新手,我正在尝试了解如何以全屏模式打开浏览器。我知道我可以执行 Javascript 中断并运行 Javascript,但这违背了 Blazor 的目的。 如何在 Blazor
我正在创建一个全屏应用程序,并且想知道是否有某种方法可以使 NSAlert 位于我创建的 CGDisplayCapture 之上。现在,NSAlert 显示在显示捕获后面。我的主窗口显示得很好(在使用
有人可以解释一下下面的代码是如何工作的吗? 元素指的是视频,全屏指的是页面上的链接。 我无法理解 if 语句 var element = document.getElementById('elemen
我想要实现的是类似于 Instagram 应用内网络浏览器,在您点击广告时使用: 我所做的是,我使用了 WebView bottomSheetDialogFragment,并覆盖了 onCreateD
第二个 ViewController 的顶部有这个空间,它几乎在手机上显示为可关闭的弹出窗口。如何使全屏显示(删除橙色箭头指向的空间)? 最佳答案 这是 iOS 13 的一项更改。用户将开始期望能够滑
我正在尝试在全屏模式下使用 emacs 并使用合适的字体。我有一台运行 Ubuntu 的基于 nvidia 的笔记本电脑。首次加载时,字体很大,认为是 16pt 字体。我使用菜单选项设置了合适的字体(
我有一个 GridView,我使用 BaseAdapter 来调整我的 GridView 中的图像和文本。我有一个问题,当我运行我的应用程序时,我的“GridView”有左、右、上和下边距。我不需要这
是否可以在全屏模式下使用 Android Studio 例如只有我们编码的那个字段应该显示在整个屏幕上。 像这样: 最佳答案 您可以使用“无干扰模式”: 关于全屏 Android Studio,我们在
我正在制作一个应用程序,当手机处于纵向时,我需要 fragment 显示菜单栏(带有设置快捷方式等),但当它处于横向时,我需要全屏。 因此,我有一个管理 2 个 fragment 的 Activity
我想知道是否可以在没有标签栏和导航栏的情况下全屏推送 NavigationController 的 ViewController。我的问题如下: 我的应用在 TabBarController 中嵌入了
我制作了一个1920 * 1048的flash(16:9的屏幕),并将其嵌入到html中喜欢: 问题是: 在 4:3 屏幕中,flash 的宽度为 100%,但顶部和底部有白色填充。看来闪光灯
我想制作一个同时包含多个文本的HTML5视频。 文本应该以不同的css布局(文本颜色、字体、阴影)显示在视频的不同位置(同时) 我试过这个教程http://www.artandlogic.com/bl
需要一些帮助。 我需要水平滑动一次长图像,然后再水平滑动回来...我在这里学习了一个教程 https://css-tricks.com/creating-a-css-sliding-backgroun
我正在制作一个简单的登录页面,并试图将以下图像作为背景全屏:image 我的 CSS 目前看起来像这样: body { background-image: url('/images/bg.jp
我想用透明色覆盖我的背景图片,但颜色没有覆盖背景图片。 这是我的演示: http://jsfiddle.net/farna/73kx2/ CSS 代码: .overlay{ backgroun
有什么方法可以隐藏状态栏并保持操作栏可见吗? 最佳答案 是的,有。您应该在 Activity 的 onCreate 方法中设置 FLAG_FULLSCREEN。 @Override public vo
我是一名优秀的程序员,十分优秀!