如何禁用“ background-attatchment:fixed”时会导致错误

时间:2019-09-11 21:11:09

标签: javascript html ios css iphone

关于这个问题,我到处都是堆栈溢出,并且找到了各种答案,但是没有一个适合我的需求。我将背景匹配设置为“固定”,但大多数人知道这会在ios设备上出错。有什么方法可以将我的财产设置为“滚动”(当它不起作用时)?如果该属性从一开始就设置为“滚动”,则图片不会调整大小并执行时髦的操作。

我已经尝试过各种解决方案,包括'@supports',使用Web-kit和其他stackOverflow建议的解决方案...它们都没有起作用。我希望有一种解决方法,甚至只是希望功能可以在无法解决的时候起作用,而在无法解决的情况下被禁用。

这是我的CSS

.sectionHeader{
    background-size: cover;
    background-position: center top;
    background-attachment: fixed;
    max-width: 100%;
    height: 100vh;
    padding: 0px !important;
    margin: 0px !important;
}

这是应用于其中的div之一:

    <div id="welcome">
        <div id=jumboName class="jumbotron jumbotron-fluid sectionHeader d-flex align-items-center" style="background-image: url('data/welcome.JPG');">
            <div class="row mx-auto my-auto align-items-center">
                <p class="display-3" style="color:WHITESMOKE; text-shadow: 0px 0px 5px black;">Name</p>
            </div>
        </div>
    </div>

同样,此操作的目标是找到解决方法,或者只是不让电话上的代码中断而仍然对计算机产生影响。这在大多数Web浏览器中已经发生,在无法处理该属性时,默认背景样式默认为“滚动”(勇敢,歌剧等)。愚蠢的ios设备还不够智能。

2 个答案:

答案 0 :(得分:1)

我终于找到了一个很好的答案!唯一不使用此功能的浏览器是移动设备。因此,我们可以使用媒体查询。

private func setNavigationBarAesthetics() {

    if let navigationBar = self.navigationController?.navigationBar {

        navigationBar.setBackgroundImage(UIImage(named: "testbg"), for: .default)


    }

    self.searchController.searchBar.delegate = self
    self.searchController.delegate = self
    searchController.searchResultsUpdater = self
    searchController.definesPresentationContext = false
    searchController.obscuresBackgroundDuringPresentation = false

    navigationItem.searchController = searchController
    navigationItem.hidesSearchBarWhenScrolling = true

    searchController.hidesNavigationBarDuringPresentation = false
}

使用此方法,我们可以将background-attachment属性设置为fixed,除非设备上未启用任何悬停功能。

答案 1 :(得分:0)

据我所知,没有办法检测到这样的故障。

相关问题