jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用自己的样式表在JQuery mobile中定位CSS大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 JQuery mobile中编写了一个小应用程序,如果我在Chrome中使用iOS模拟器,该应用程序可以正常工作.

如果我在iPad Mini上运行该应用程序,似乎有关于CSS样式的问题(JQuery功能正常).

具体来说,一些不在标准JQuery样式表中的元素不会显示.

为了说明,我附上了同一页面的两个屏幕截图,一次在模拟器中,一次在iPad上.在这里,用户触摸蓝色圆圈并且文本发生变化(此交互在模拟器和iPad中都有效).

我已经阅读了几个similar个问题,但我无法弄清楚如何让它工作.我必须使用自定义元素,如带圆圈的触摸区域,并准确定位它们.为元素提供data-role = none属性并没有@L_450_10@这个问题.

由于有人建议加载样式表可能会有问题,这是我的< head>使用样式表和jquery-mobile cdns.

<link rel="stylesheet" href="./theme/mobilecittheme.min.css" media="screen and (orientation: landscapE)" />
<link rel="stylesheet" href="./theme/structure.css" />
<link rel="stylesheet" href="./MYSTYLESHEET.css" type="text/css" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.js"></script>

蓝色圆圈元素是:

<div id="target" data-role="none">Tap here to generate the control item</div>

并且屏幕截图中显示的元素的css是这样的

#target {
  border: blue 2px solid;
  width: 25%;
  height: 0;
  padding-bottom: 25%;
  position: fixed;
  margin: 0;
  margin-right: -50%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  top: 65%;
  left: 50%;
  text-align: center;
}

看起来好像它特别是元素的定位(它应该像模拟器示例中那样居中).

我怎样才能@L_450_10@这个问题?

使用自己的样式表在JQuery mobile中定位CSS

使用自己的样式表在JQuery mobile中定位CSS

解决方法

也许这有助于其他有类似问题的人:

在使用样式表进行了一些实验后,我找到了解决方法

问题似乎在于元素的定位反过来由于响应中心而成为问题:

显然,CSS中的响应式中心就像这样

@H_685_17@margin: 0; margin-right: -50%; transform: translate(-50%,-50%);

在JQuery Mobile中不起作用(任何想法为什么会这样?)

我已经@L_450_10@了它并编写了一个JQuery函数,以编程方式进行居中:

function css_center(object) {
  object.css({
  "margin-left": -($(object).width() / 2),"margin-top": -($(object).height() / 2)
 });
}

(注意margin-top需要是 – ($(object).width()/ 2如果对象是响应式创建的正方形)

加载页面后需要调用函数

$(document).on('pagecreate','#pagEID',function() {
  css_center_square($("#target"));
});

但是,这不起作用,因为在开始时不调用函数.我已经@L_450_10@了这个问题:

$(document).on('pagecreate',function() {
  seTinterval(function(){
    css_center_square($("#target"));
  },25);
});

这每25ms运行一次,它可以按照我想要的方式运行.我在iPad Mini上进行了测试,它按预期工作.

肯定有更好的解决方案,但这个解决方案对我有用.如果对问题本身有更好的解决方案或解释,我仍然想知道..

大佬总结

以上是大佬教程为你收集整理的使用自己的样式表在JQuery mobile中定位CSS全部内容,希望文章能够帮你解决使用自己的样式表在JQuery mobile中定位CSS所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。