- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有以下形式的 HTML 布局
<div id="header-1">..</div>
<div id="header-2">..</div>
// content ..
两个 header 都是 position: fixed
并设置为 header 1 刚好在 header 2 上方。这两个 header 都在滚动时调整大小以使 header 变小。
现在我必须在两个 header 前添加 Logo (它最初位于 header-2 内)。为此,我将结构更改为
<div id="header-1">..</div>
<div id="header-2">..</div>
<div id="logo-wrapper">
<a href=".." id="logo"><img src=".."></a>
</div>
// content ..
并监听标题的滚动/调整大小并调整 Logo 包装器的大小。这在大多数浏览器中工作得很好,但带有 Safari 的 Mac 有它的问题。 Logo 没有位于右上角,而是太左或太右。
应该看起来像这样(在 Chrome、FF、.. 中也是如此)
在 Safari 中看起来像这样
$(window).scroll(function(){
var fromTop = $(this).scrollTop();
if (fromTop > 0) {
$('.header').addClass('scrolled');
} else {
$('.header').removeClass('scrolled');
}
});
function recalcLogo() {
var height = $('#header-1').outerHeight() + $('#header-2').outerHeight();
$('#logo-wrapper').css('height', height+'px');
}
$(document).ready(function(){
recalcLogo();
new ResizeSensor($('#header-2'), function(){
recalcLogo();
});
})
body {
background-color: #fff;
}
body p {
margin: 0;
color: #000;
}
#logo-wrapper {
position: fixed;
top: 0;
right: 0;
z-index: 20;
transition: height 0.2s ease-in;
}
#logo-wrapper a, #logo-wrapper img {
height: 100%;
width: auto;
}
.header {
position: fixed;
left: 0;
width: 100%;
z-index: 10;
transition: all 0.2s ease-in;
}
#header-1 {
top: 0;
height: 40px;
background-color: #ddd;
padding: 0 15px;
line-height: 40px;
}
#header-1.scrolled {
height: 25px;
line-height: 25px;
}
#header-2 {
top: 40px;
background-color: #ccc;
padding: 45px 15px;
}
#header-2.scrolled {
top: 25px;
padding: 15px;
}
.content {
margin-top: 180px;
}
.content p {
margin: 25px;
font-size: 1em;
line-height: 1.25em;
}
<script src="https://cdn.jsdelivr.net/npm/css-element-queries@1.0.2/src/ResizeSensor.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="logo-wrapper">
<a href="#" id="logo"><img src="http://i.imgur.com/Uo7o4b4.png"></a>
</div>
<div id="header-1" class="header">
<p>
some text
</p>
</div>
<div id="header-2" class="header">
<p>
navigation elements
</p>
</div>
<div class="content">
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</div>
在我看来,Safari 似乎走错了路。元素通过 top: 0; 放置right: 0;
然后调整大小,图像被设置为适合其容器的高度。由于没有转换,我无法设置 transform-origin
,或者我可以吗?
最佳答案
添加
#logo img {
position: absolute;
right: 0;
}
... 似乎可以毫无副作用地修复它。 Safari 在 position:fixed;
方面存在问题。
他们真诚地认为不应该允许这样做,例如:“这对用户体验有害......开发人员正在滥用它”。
他们一直在试图破坏它的使用(很难相信他们不能在这么多年之后做对)。他们最终阻止了浏览器的使用。
关于css - Safari 取代 Logo 位置 : fixed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52663305/
我有一个包含几行的 HTML 表格。 我最初为其中一些表格行 (TR) 提供了一个 ID,然后我将使用 javascript 通过一些新的动态内容来设置其中一些表格行的 INNERHTML。 但是,I
在以下(Clojure)SO问题中:my own interpose function as an exercise 接受的答案是这样的: Replace your recursive call wi
我目前正在使用 Delphi7 和 ASTA 来处理客户端服务器与 Advantage DB 的通信。 我正在转向 Rad Studio XE Enterprise,并希望切换到不同但相似的解决方案,
当我尝试更新软件包时,我总是收到这条消息,我通常只是继续进行,一切都会正常进行。但我担心我不小心创建了一个比我想要的复杂得多的 Anaconda 环境。此线程 ( What does "the fol
这个问题在这里已经有了答案: 关闭 13 年前。 Possible Duplicate: Why not use tables for layout in HTML? 我知道现在每个人都在关注 DI
作为一名 Java 后端开发,日常工作中免不了要生成数据库表对应的持久化对象 PO,操作数据库的接口 DAO,以及 CRUD 的 XML,也就是 mapper。 Mybatis Generator 是
我需要用 bitshift 替换 Java 中的 Math.pow。 for (int i = n - 1; i >= 0; i--) Math.pow(16, n - i - 1) 其中 n
我对 Oracle 还很陌生。 可以肯定地说LTRIM(RTRIM())完全可以被 TRIM() 取代如果我想替换 Oracle 11g 中的前导和尾随空格? 此外,当我尝试在使用 JPA 的查询中使
此应用程序包含activity_main.xml、mainactivit.java 和一个Fragment 类。activity_main.xml 在RelativeLayout 中有一个Button
我正在研究将 Weblogic 10.x 替换为用于开发机器的 Apache Tomcat,我非常感谢任何人可能有的任何见解或建议。 任何试图在生产 webapp 服务器怪物上进行开发工作的人可能都知
我有以下 JS 代码,我想用 $ 符号替换所有 ₪ (₪)。 $(this).html($(this).html().replace(/₪/g,'$')); 但是它没有做任何事情。我还尝试
执行此操作的正确方法是什么?我有一个 标签,我想显示 那是内联的。 最佳答案 display: inline 应该可以解决问题。它将使 表现得像任何内联元素。 关于html - CSS:取代 h1 换
我有一个问题 - 当我改变方向时,我的第二个 fragment (此时处于 Activity 状态)被第一个 fragment 取代。我从来没有这样的行为,如果能解决它怎么办? 主要 Activity
我有多个结构,其格式与传递给 encodeParams 函数的 MapParameters 相同。不幸的是,对这些结构使用该函数会产生不需要的编码,包括嵌入的结构名称。无论如何,我可以使用 refle
前言 打开Android架构组件页面,我们可以发现一些最新发布的jetpack组件,如Room,DataStore, Paging3,DataBinding 等都支持了Flow。Google开
我正在尝试不区分大小写的模式匹配。为了学习,我尝试了以下方法,发现很难分析正在发生的事情。 String x = "Hello"; String pattern = "(?i)";
这个问题在这里已经有了答案: Why aren't my absolutely/fixed-positioned elements located where I expect? (3 个答案)
我有以下形式的 HTML 布局 .. .. // content .. 两个 header 都是 position: fixed 并设置为 header 1 刚好在 header 2 上方。这两个 h
阅读中this c++17 最终特性的总结我对结构化绑定(bind)的部分感到有点惊讶(强调我的): structured bindings Until now, there was a known
我正在集成一个用早期 Swift 编写的库。由于该库与 Swift 4 的兼容版本不可用,我正在自己删除错误。 有这一行: let pathBounds = CGPathGetBoundingBox(
我是一名优秀的程序员,十分优秀!