@{
ViewBag.Title = "Home Page";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section styles{
}
<button id="btnCH">中文</button>
<button id="btnVI">越南语</button>
<button id="btnEN">英语</button>
<div style="height:50px;"></div>
<table style="width: 100%; height: auto; padding: 0px 0px; border: 0px solid gray;">
<tr style="height: 50px;margin-top:5px;background-color:green;">
<td id="tddatainput" style="text-align:right; width:10%; font-size: large; font-weight: bolder;white-space: nowrap;">
<div class="label-parent">
<div class="label">语言国际化自适应</div>
</div>
</td>
<td style="width: 90%; font-size: x-large; font-weight: bolder;">
<input id="DataInput" onkeypress="checktxtssn();" class="txtscanclass" style="width:100%;max-width:100%; font-size: x-large; font-weight: bolder;" />
</td>
</tr>
</table>
<table style="width: 100%; height: auto; padding: 0px 0px; border: 0px solid gray;">
<tr style="height: 50px;margin-top:5px;background-color:green;">
<td id="tddatainput1" style="text-align:right; width:10%; font-size: large; font-weight: bolder;white-space: nowrap;">
<div>
<div class='marquee' style="font-size:75%;padding: .2em .6em .3em;">语言国际化自适应</div>
</div>
</td>
<td style="width: 90%; font-size: x-large; font-weight: bolder;">
<input id="DataInput" onkeypress="checktxtssn();" class="txtscanclass" style="width:100%;max-width:100%; font-size: x-large; font-weight: bolder;" />
</td>
</tr>
</table>
@*<div class="label-parent" style="width: 200px; height: 40px;white-space: nowrap;background-color:blue;">
<div class="label" id="label1">语言国际化自适应</div>
</div>*@
<div class="" style="width: 200px; height: 40px;white-space: nowrap;background-color:yellow;">
</div>
@section scripts{
<script type="text/javascript">
/* 缩放显示 */
function fittext(element, elementMaxWidth, elementMaxHeight, maxFontSize, localizationText) {
$('#' + element + ' .label-parent .label').html(localizationText);
$('#' + element + ' .label-parent .label').css({
'display': 'table-cell',
'vertical-align': 'middle',
'width': '100%',
'max-width': elementMaxWidth,
'height': elementMaxHeight,
'max-height': elementMaxHeight,
'-webkit-transform': 'scale(1)',
'transform': 'scale(1)',
'transform-origin': '0 ' + $('#' + element).height() / 2 + 'px'
});
$('#' + element + ' .label-parent').css({
'display': 'table',
'width': '100%',
'max-width': elementMaxWidth,
'height': '100%',
'max-height': '100%',
'line-height': '50px',
'white-space': 'nowrap',
//'background-color': 'blue',
'-webkit-transform-origin': '100% 100%',
'transform-origin': '100% 100%',
'vertical-align': 'middle'
});
var c = $('#' + element + ' .label-parent');
var tt = $('#' + element + ' .label-parent .label');
var maxW = elementMaxWidth, maxH = elementMaxHeight, maxSize = maxFontSize;
var d = document.createElement("div");
d.style.backgroundColor = 'red';
d.style.fontSize = maxSize + "px";
d.style.display = 'inline-block';
d.style.padding = $('#' + element + ' .label-parent .label').css('padding');
for (var i = 0; i < tt.length; i++) {
d.innerHTML = tt[i].innerHTML;
document.body.appendChild(d);
var w = d.offsetWidth;
if (parseInt(w) > maxW) {
tt.css('width', w);
var h = d.offsetHeight;
document.body.removeChild(d);
var x = w > maxW ? maxW / w : 1;
var y = h > maxH ? maxH / h : 1;
var r = Math.min(x, y) * maxSize;
tt.css({
'-webkit-transform': 'scale(' + Math.floor(Math.min(x, y) * 10) / 10 + ')',
'transform': 'scale(' + Math.floor(Math.min(x, y) * 10) / 10 + ')',
'transform-origin': '0 ' + $('#' + element).height() / 2 + 'px'
});
tt.attr('title', localizationText);
c.css({
'display': 'inline-block'
});
} else {
document.body.removeChild(d);
tt.css({
'font-size': maxSize + "px"
});
c.css({
'display': 'inline-block'
});
}
}
}
/* 滚动播放 */
function fittext3(element, elementMaxWidth, elementMaxHeight, maxFontSize, localizationText) {
$('#' + element + ' .marquee').html(localizationText);
$('#' + element + ' .marquee').css({
'width': elementMaxWidth,
'overflow': 'hidden'
});
var maxW = elementMaxWidth, maxH = elementMaxHeight, maxSize = maxFontSize;
var tt = $('#' + element + ' .marquee');
var d = document.createElement("div");
d.style.backgroundColor = 'red';
d.style.fontSize = maxSize + "px";
d.style.display = 'inline-block';
d.style.padding = $('#' + element + ' .label-parent .label').css('padding');
for (var i = 0; i < tt.length; i++) {
d.innerHTML = tt[i].innerHTML;
document.body.appendChild(d);
var w = d.offsetWidth;
if (parseInt(w) > maxW) {
$('#' + element + ' .marquee').marquee({
//speed: 50,
//gap: 50,
//delayBeforeStart: 0,
//direction: 'left',
//duplicated: true,
pauseOnHover: true
});
} else {
$('#' + element + ' .marquee').children().remove();
}
document.body.removeChild(d);
}
}
$(function () {
$("#btnCH").click(function () {
fittext('tddatainput', $('#tddatainput').width(), $('#tddatainput').height(), $('#tddatainput').css('font-size'), '语言国际化自适应');
fittext3('tddatainput1', $('#tddatainput1').width(), $('#tddatainput1').height(), $('#tddatainput1').css('font-size'), '语言国际化自适应');
});
$("#btnVI").click(function () {
fittext('tddatainput', $('#tddatainput').width(), $('#tddatainput').height(), $('#tddatainput').css('font-size'), 'Thử nghiệm thích ứng ngôn ngữ\'');
fittext3('tddatainput1', $('#tddatainput1').width(), $('#tddatainput1').height(), $('#tddatainput1').css('font-size'), 'Thử nghiệm thích ứng ngôn ngữ\'');
});
$("#btnEN").click(function () {
fittext('tddatainput', $('#tddatainput').width(), $('#tddatainput').height(), $('#tddatainput').css('font-size'), 'Language internationalization adaptive testing');
fittext3('tddatainput1', $('#tddatainput1').width(), $('#tddatainput1').height(), $('#tddatainput1').css('font-size'), 'Language internationalization adaptive testing');
});
});
//根据毫米算DPI
function cm2px(cm) {
var dpi = getDPI();
var pixel = parseFloat(cm) / 25.4 * dpi[0]; //只计算x轴的dPI
return (parseInt(pixel))
}
function getDPI() {
var arrDPI = new Array();
if (window.screen.deviceXDPI != undefined) {//ie 9
arrDPI[0] = window.screen.deviceXDPI;
arrDPI[1] = window.screen.deviceYDPI;
} else {//chrome firefox
var tmpNode = document.createElement("DIV");
tmpNode.style.cssText = "width:1in;height:1in;position:absolute;left:0px;top:0px;z-index:99;visibility:hidden";
document.body.appendChild(tmpNode);
arrDPI[0] = parseInt(tmpNode.offsetWidth);
arrDPI[1] = parseInt(tmpNode.offsetHeight);
tmpNode.parentNode.removeChild(tmpNode);
}
return arrDPI;
}
</script>
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - 我的 ASP.NET 应用程序</title>
@*<script src="~/Scripts/jquery-1.11.0.min.js"></script>*@
@Scripts.Render("~/bundles/jquery")
<script src="~/Scripts/jquery.marquee.js"></script>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@RenderSection("styles", required: false)
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
@Html.ActionLink("应用程序名称", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
</div>
</div>
</div>
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>© @DateTime.Now.Year - 我的 ASP.NET 应用程序</p>
</footer>
</div>
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
</html>
效果如下:第一行根据内容缩放;第二行根据内容自动滚动播放;

来源:https://www.cnblogs.com/turnip/p/12551630.html