Javascript 如何动态定义HTML元素的宽度
我有一个容器div和两个子div。容器div为100%宽度。子div的左浮动。未设置左div的宽度,因为其内容必须决定其宽度。右div的宽度必须为100%减去左div的宽度 HTML: 这是我尝试使用JQuery动态设置右div的宽度(当它被动态添加到页面时):Javascript 如何动态定义HTML元素的宽度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个容器div和两个子div。容器div为100%宽度。子div的左浮动。未设置左div的宽度,因为其内容必须决定其宽度。右div的宽度必须为100%减去左div的宽度 HTML: 这是我尝试使用JQuery动态设置右div的宽度(当它被动态添加到页面时): $(document).ready( function(){ var nameWidth = $(".message-name").last().width(); alert(nameWidth); $("
$(document).ready( function(){
var nameWidth = $(".message-name").last().width();
alert(nameWidth);
$(".message-msg").last().css("width","100%").width($(".message-msg").last() - nameWidth);
});
但这并没有改变任何事情
如何获得左div的宽度,然后从右div的宽度中减去该宽度,以确保右div不会断开到新行
这是我尝试的一个例子。请试试这个
$(".message-msg").last().width($(".message-msg").last().width() - nameWidth);
存在每个div的Border2px
。如果你想把它放在左边,那么试试这个
$(“.message msg”).last().width($(“.message msg”).last().width()-2-nameWidth-2)代码>
请试试这个
$(".message-msg").last().width($(".message-msg").last().width() - nameWidth);
存在每个div的Border2px
。如果你想把它放在左边,那么试试这个
$(“.message msg”).last().width($(“.message msg”).last().width()-2-nameWidth-2)代码>
请试试这个
$(".message-msg").last().width($(".message-msg").last().width() - nameWidth);
存在每个div的Border2px
。如果你想把它放在左边,那么试试这个
$(“.message msg”).last().width($(“.message msg”).last().width()-2-nameWidth-2)代码>
请试试这个
$(".message-msg").last().width($(".message-msg").last().width() - nameWidth);
存在每个div的Border2px
。如果你想把它放在左边,那么试试这个
$(“.message msg”).last().width($(“.message msg”).last().width()-2-nameWidth-2)代码>
您可以通过CSS实现这一点
小提琴:
这通过将第二个div的溢出设置为隐藏
或自动
来实现。如果您的内容只是一个文本,我建议将其设置为隐藏
,因为文本只是环绕
对css的更改
优势:
适用于大多数浏览器(在IE7中测试)
浏览器负责调整窗口大小
清洁代码
缺点
- 溢出应该是
隐藏的
或自动的
。这对你来说不是问题,因为你只有文本
您可以通过CSS实现这一点
小提琴:
这通过将第二个div的溢出设置为
隐藏
或自动
来实现。如果您的内容只是一个文本,我建议将其设置为隐藏
,因为文本只是环绕
对css的更改
优势:
适用于大多数浏览器(在IE7中测试)
浏览器负责调整窗口大小
清洁代码
缺点
- 溢出应该是
隐藏的
或自动的
。这对你来说不是问题,因为你只有文本
您可以通过CSS实现这一点
小提琴:
这通过将第二个div的溢出设置为
隐藏
或自动
来实现。如果您的内容只是一个文本,我建议将其设置为隐藏
,因为文本只是环绕
对css的更改
优势:
适用于大多数浏览器(在IE7中测试)
浏览器负责调整窗口大小
清洁代码
缺点
- 溢出应该是
隐藏的
或自动的
。这对你来说不是问题,因为你只有文本
您可以通过CSS实现这一点
小提琴:
这通过将第二个div的溢出设置为
隐藏
或自动
来实现。如果您的内容只是一个文本,我建议将其设置为隐藏
,因为文本只是环绕
对css的更改
优势:
适用于大多数浏览器(在IE7中测试)
浏览器负责调整窗口大小
清洁代码
缺点
- 溢出应该是
隐藏的
或自动的
。这对你来说不是问题,因为你只有文本
添加此
$(".message-msg").last().css("width","100%").width($(".message-msg").last().width() - nameWidth);
在thaat行中,您将宽度设置为100%,然后将宽度更改为100%,减去变量nameWidth,您必须获得最后一个div的宽度才能进行计算
$(".message-msg").last().css("width","100%").width($(".message-msg").last().width() - nameWidth);
在thaat行中,您将宽度设置为100%,然后将宽度更改为100%,减去变量nameWidth,您必须获得最后一个div的宽度才能进行计算
$(".message-msg").last().css("width","100%").width($(".message-msg").last().width() - nameWidth);
在thaat行中,您将宽度设置为100%,然后将宽度更改为100%,减去变量nameWidth,您必须获得最后一个div的宽度才能进行计算
$(".message-msg").last().css("width","100%").width($(".message-msg").last().width() - nameWidth);
在thaat行中,您将宽度设置为100%,然后将宽度更改为100%,减去变量nameWidth您必须获得最后一个div的宽度才能进行计算使用flexbox,这是为了最合理的目的
无需编写脚本,更加灵活
*{
保证金:0;
填充:0;
}
.集装箱{
宽度:100%;
最小高度:20px;
溢出:自动;
显示器:flex;
弯曲方向:行;
}
.邮件名称{
高度:20px;
文本对齐:左对齐;
边框:1px纯红;
弹性收缩:0;
}
.message msg{
边框:1px纯红;
最小高度:20px;
柔性生长:1;
弹性收缩:1;
}
用户:
一些信息
用户:
一些很长的信息会中断到新的线路,因为这条线路太长了。mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
使用flexbox,这是出于最合理的目的
无需编写脚本,更加灵活
*{
保证金:0;
填充:0;
}
.集装箱{
宽度:100%;
最小高度:20px;
溢出:自动;
显示器:flex;
弯曲方向:行;
}
.邮件名称{
高度:20px;
文本对齐:l