将徽标保持在中心并保持比例
Keep logo in the center and maintain ratio
经过一个小时的尝试,我放弃了。我有一个导航菜单,中间有一个徽标,我需要徽标始终是一个圆圈。由于布局是响应式的,我根据为其生成的宽度设置徽标的高度。问题是,每当我更改视口大小时,徽标都会移动到高度的位置,我不知道如何维护它。
这是 JSFiddle
小提琴结果在这里
目前导航菜单中有 5 个按钮,因此每个按钮的宽度为 20%。然后我像这样设置高度并设置徽标
function scaleLogo(){
var ww = $(window).width();
if (ww < 300) {
var cr = 0.05;
}
else {
var cr = 0.30;
}
var cw = $('#home_btn').width();
$('#home_btn').css({
'height': cw + 'px',
'top': '-' + cr * cw + 'px'
});
}
因此,'height': cw + 'px'
将高度设置为宽度的大小,'top': '-' + cr * cw + 'px'
将 top 属性设置为减去 cr(圆比(乘以 cw(圆粗细(,这导致当屏幕宽度小于 400px 时将其定位为宽度的 -10%,当超过 400px 时将其定位为宽度的 -30%。
问题是,只有当我切换到手机或全高清台式电脑并缩放到很小的宽度时,这种方式才有效,视口变得非常薄和高,使徽标根本不居中。
无论视口的宽度或高度如何,我都非常感谢有关如何成功将徽标居中的任何提示或建议。
我试图像body{min-width:600px}
一样在身体上强制最小宽度,我认为当我将窗口宽度更改为小于 600px 时,它会停止缩放内容,但它没有做任何事情。如果有人能解释这一点,我也将不胜感激。
一如既往,期待您的回复。谢谢。
这是一个非常简单的解决方案:不要使用顶部的百分比来定位徽标,而是使用固定的百分比放置徽标,并将已经计算的像素大小减少一半。这在你的小提琴中起作用:
$('#home_btn').css({
'height': cw + 'px',
// steadily position it in the middle
'top': '50%',
// then reduce its top margin with half its height
'margin-top' : -(cw/2) + 'px'
});
使用 CSS 定位徽标的基本思想,而不必担心定位图像
$(window).on("resize", function() {
var winWidth = $(this).width();
var logoSize = Math.ceil(winWidth / 4);
$(".logo").width(logoSize).height(logoSize);
});
.logo {
background-repeat: no-repeat;
background-image: url(http://s.cdpn.io/3/kiwi.svg);
background-position: 50% 50%;
background-size: 50%;
height: 200px;
width: 200px;
background-color: rgb(211,211,211);
border-radius:50%;
box-shadow: 0px 5px rgba(0,0,0,0.3);
}
<div class="logo"></div>
JSFiddle上的相同代码:http://jsfiddle.net/0rLwh4w3/您可以实际调整浏览器大小的地方
- 为什么我的集装箱不在中心
- tabindex按顺序进行,如果在中心遗漏了什么,则转到tabindex 1
- 使旋转的中心点在中心
- 如何在中心框中设置重力2d javascript
- 将徽标保持在中心并保持比例
- 如何在中心显示带有消息的加载程序图像,并防止在 AJAX 响应来自 PHP 文件时关闭引导模式对话框
- 谷歌地图API:如何获得在中心有静态pin的可拖动地图,并在每次移动地图时获得这个pin的位置
- 在中心模式下滑动转盘会导致幻灯片滚动无法正常工作
- ProgressBar和RenderTo未放置在中心
- 如何对齐一个旋转的轮子停止在中心位置,而不是使用javascript随机位置
- 如何定位文本和Div在彼此的顶部,并在中心对齐
- 加载后如何在中心中心或特定高度开始页面
- 随机放置矩形,但不要在中心的x半径范围内
- 移动滚动条时,始终将窗口保持在中心位置
- javascript,php -如何定位在中心的子窗口
- 是否有可能创建高图极坐标图,其中x轴在中心而不是在圆周
- 光滑滑块:在中心模式中去掉部分/边缘图像
- 如何使场中心对齐(在中心)在离子+角
- 添加文本在中心形式的问题
- 在HTML5中放大和缩小网页时,正文应该在中心