GVKun编程网logo

javascript – 自动缩放图像以匹配文字高度(js图片自适应屏幕大小)

17

如果您对javascript–自动缩放图像以匹配文字高度和js图片自适应屏幕大小感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解javascript–自动缩放图像以匹配文字高度的各种细节,并对j

如果您对javascript – 自动缩放图像以匹配文字高度js图片自适应屏幕大小感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解javascript – 自动缩放图像以匹配文字高度的各种细节,并对js图片自适应屏幕大小进行深入的分析,此外还有关于javascript – Bootstrap – 如何缩小图像以适应窗口高度?、javascript – d3.js强制布局自动缩放/缩放加载后、javascript – Jquery可拖动缩放问题、javascript – Mapbox GL JS禁用滚动缩放的实用技巧。

本文目录一览:

javascript – 自动缩放图像以匹配文字高度(js图片自适应屏幕大小)

javascript – 自动缩放图像以匹配文字高度(js图片自适应屏幕大小)

我有一个图像,我想使用一些文本内联,但我需要它来匹配文本高度.我知道这可能像< img src =“img.jpg”height = 16>或者甚至< img src =“img.jpg”height =“100%”>,但前者不会与文本大小缩放,后者似乎使其成为div的大小,而不是文本高度.谁能帮忙?

示例HTML:

<body>
This is a test <img src="img.jpg">
</body>

解决方法

你尝试这个图像的高度为1em吗?
img {height: 1em;}

在这里查看小提琴:http://jsfiddle.net/yAr7z/

javascript – Bootstrap – 如何缩小图像以适应窗口高度?

javascript – Bootstrap – 如何缩小图像以适应窗口高度?

如何使图像溢出高度响应?

我有时拥有的图像长度很高,使窗口滚动条可见.

enter image description here

所以我想让这些高度响应 – 使图像按比例缩小以适应窗口高度.

enter image description here

可能吗?

CSS,

 html,body {
    height: 100%;
    margin: 0;
    padding: 0 0;
    border: 4px solid black;
}

.container-fluid {
    height: 100%;
    display: table;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    border: 4px solid blue;
}

.row-fluid {
    height: 100%;
    display: table-cell;
    vertical-align: middle;
    width: 100%;

    border: 4px solid red;
}

.centering {
    float: none;
    margin: 0 auto;
}

HTML,

最佳答案
您可以在img上使用height:100%和vertical-align:top,在父元素上使用height:100vh

body,html {
  margin: 0;
  padding: 0;
}

div {
  display: inline-block;
  height: 100vh;
  width: 100%;
  text-align: center;
}

img {
  height: 100%;
  vertical-align: top;
}

javascript – d3.js强制布局自动缩放/缩放加载后

javascript – d3.js强制布局自动缩放/缩放加载后

我正在使用来自Flowingdata.com的 this nice force layout创建一个网络图.

我的图表目前显示了5到750个节点之间的关系.它适用于一些自定义更改以适应我的需要.但是有一件事我不能上班.我有一个viewBox与preserveAspectRatio自动适应它所在的容器.但是,根据节点的数量,边缘总是有一些节点(主要是top和buttom)被切断.如果节点很少,它会在中间显示它们,它周围有巨大的空白空间(它是一个大的容器).

有没有办法自动缩放或缩放布局自动适应?所以一个大的布局有点缩小,一个小的布局放大.我有一个缩放事件设置,所以滚动和平移工作就像一个魅力.但是它能自动地做到这一点来适应内容吗?

d3.js启动代码:

vis = d3.select(selection)
        .append("svg")
        .attr("viewBox","0 0 " + width + " " + height )
        .attr("preserveAspectRatio","xMidYMid meet")
        .attr("pointer-events","all")
        .call(d3.behavior.zoom().scaleExtent([.1,3])
                        .on("zoom",redraw)).append('g');

解决方法

迄今为止所有其他答案都需要访问数据,并通过它进行迭代,所以复杂度至少为O(节点).我一直在寻找并找到一种完全基于已经呈现的视觉大小的方法,getBBox()可以希望是O(1).它的尺寸和父容器的大小无关紧要,它的布局如何.我基于 http://bl.ocks.org/mbostock/9656675设法鞭打这个:
var root = // any svg.select(...) that has a single node like a container group by #id

function lapsedZoomFit(ticks,transitionDuration) {
    for (var i = ticks || 100; i > 0; --i) force.tick();
    force.stop();
    zoomFit(transitionDuration);
}

function zoomFit(transitionDuration) {
    var bounds = root.node().getBBox();
    var parent = root.node().parentElement;
    var fullWidth = parent.clientWidth || parent.parentNode.clientWidth,fullHeight = parent.clientHeight || parent.parentNode.clientHeight;
    var width = bounds.width,height = bounds.height;
    var midX = bounds.x + width / 2,midY = bounds.y + height / 2;
    if (width == 0 || height == 0) return; // nothing to fit
    var scale = 0.85 / Math.max(width / fullWidth,height / fullHeight);
    var translate = [fullWidth / 2 - scale * midX,fullHeight / 2 - scale * midY];

    console.trace("zoomFit",translate,scale);

    root
        .transition()
        .duration(transitionDuration || 0) // milliseconds
        .call(zoom.translate(translate).scale(scale).event);
}

javascript – Jquery可拖动缩放问题

javascript – Jquery可拖动缩放问题

我正在一个女巫的页面上,所有的内容都通过缩放进行缩放.
问题在于,当我拖动页面中的某些东西时,拖动项目会看到相对于缩放量的不好的位置.

为了解决这个问题,我试图对可拖动组件的位置做一些数学,但是看起来,即使在视觉上它被修正,“真实”的位置也没有被重新计算.

这里有一些代码来解释更好:

var zoom = Math.round((parseFloat($(“body”).css(“zoom”))/ 100)* 10)/ 10;

var x = $(this).data('draggable').position;
$(this).data('draggable').position.left = Math.round(x.left/zoom);
$(this).data('draggable').position.top = Math.round(x.top/zoom);

任何帮助将不胜感激

解决方法

花费大量的时间和精力来解决这个问题,但最后我有一个解决方案.

此解决方案适用于Firefox和IE. #canvas是包含draggable的div.请注意,我们必须确保元素手动保留在画布内.

如果canvas的缩放级别与页面的其余部分不同,这也是有效的.

var pointerX;
var pointerY;
$(c).draggable({
  start : function(evt,ui) {
    pointerY = (evt.pageY - $('#canvas').offset().top) / zoom - parseInt($(evt.target).css('top'));
    pointerX = (evt.pageX - $('#canvas').offset().left) / zoom - parseInt($(evt.target).css('left'));
  },drag : function(evt,ui) {
    var canvasTop = $('#canvas').offset().top;
    var canvasLeft = $('#canvas').offset().left;
    var canvasHeight = $('#canvas').height();
    var canvasWidth = $('#canvas').width();

    // Fix for zoom
    ui.position.top = Math.round((evt.pageY - canvasTop) / zoom - pointerY); 
    ui.position.left = Math.round((evt.pageX - canvasLeft) / zoom - pointerX); 

    // Check if element is outside canvas
    if (ui.position.left < 0) ui.position.left = 0;
    if (ui.position.left + $(this).width() > canvasWidth) ui.position.left = canvasWidth - $(this).width();  
    if (ui.position.top < 0) ui.position.top = 0;
    if (ui.position.top + $(this).height() > canvasHeight) ui.position.top = canvasHeight - $(this).height();  

    // Finally,make sure offset aligns with position
    ui.offset.top = Math.round(ui.position.top + canvasTop);
    ui.offset.left = Math.round(ui.position.left + canvasLeft);
  }
});

javascript – Mapbox GL JS禁用滚动缩放

javascript – Mapbox GL JS禁用滚动缩放

无法禁用MapBox GL JS上的默认缩放滚动功能. api文档中没有任何内容可以阐明这一点.甚至错过了他们文档中的滚动事件.

var map = new mapBoxgl.Map({
  container: 'map',style: 'mapBox://styles/mapBox/streets-v8',zoom: 15
});

解决方法

检查了地图对象,看到了scrollZoom并试图调用disable.巨大的成功!

map.scrollZoom.disable();

今天关于javascript – 自动缩放图像以匹配文字高度js图片自适应屏幕大小的介绍到此结束,谢谢您的阅读,有关javascript – Bootstrap – 如何缩小图像以适应窗口高度?、javascript – d3.js强制布局自动缩放/缩放加载后、javascript – Jquery可拖动缩放问题、javascript – Mapbox GL JS禁用滚动缩放等更多相关知识的信息可以在本站进行查询。

本文标签:

上一篇javascript – 在if语句中使用未定义的变量(javascript中的if语句不执行)

下一篇javascript – 使用data-template-name命名Ember.js模板(javascript命名规范)