Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将文本与图像垂直对齐_Javascript_Html_Css_Twitter Bootstrap_Responsive Design - Fatal编程技术网

Javascript 将文本与图像垂直对齐

Javascript 将文本与图像垂直对齐,javascript,html,css,twitter-bootstrap,responsive-design,Javascript,Html,Css,Twitter Bootstrap,Responsive Design,我使用Bootstrap来显示一条随机的tweet和旁边的静态图像 它看起来很棒,但文本始终垂直于顶部,而不是图像的中心 我如何解决这个问题,不管推特的长度,它会垂直显示在中间? 演示: /*作为外部资源包含最新编译和缩小的CSS*/ /*可选主题*/ @导入url('//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap theme.min.css'); 身体{ 背景:黑色; 利润率:10px; 颜色:白色 } img{ 浮动:左 }

我使用Bootstrap来显示一条随机的tweet和旁边的静态图像

它看起来很棒,但文本始终垂直于顶部,而不是图像的中心

<>我如何解决这个问题,不管推特的长度,它会垂直显示在中间?

演示:

/*作为外部资源包含最新编译和缩小的CSS*/
/*可选主题*/
@导入url('//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap theme.min.css');
身体{
背景:黑色;
利润率:10px;
颜色:白色
}
img{
浮动:左
}
/*============非移动第一种方法==========*/
/*大设备、宽屏幕*/
@仅介质屏幕和(最大宽度:1200px){
}
/*中型设备、台式机*/
@仅介质屏幕和(最大宽度:992px){
}
/*小型设备、平板电脑*/
@仅介质屏幕和(最大宽度:768px){
img{
浮动:无
}
}
/*超小型设备、手机*/
@仅介质屏幕和(最大宽度:480px){
}
/*定制,iPhone视网膜*/
@仅介质屏幕和(最大宽度:320px){
}


RT:说真的,放下你的一切。。。

给出

img, blockquote {
  float: none;
  display: inline-block;
}

/*作为外部资源包含最新编译和缩小的CSS*/
/*可选主题*/
@导入url('//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap theme.min.css');
身体{
背景:黑色;
利润率:10px;
颜色:白色
}
img,
大宗报价{
浮动:无;
显示:内联块;
}
/*============非移动第一种方法==========*/
/*大设备、宽屏幕*/
@仅介质屏幕和(最大宽度:1200px){}
/*中型设备、台式机*/
@仅媒体屏幕和(最大宽度:992px){}
/*小型设备、平板电脑*/
@仅介质屏幕和(最大宽度:768px){
img{
浮动:无
}
}
/*超小型设备、电话*/
@仅介质屏幕和(最大宽度:480px){}
/*定制,iPhone视网膜*/
@仅介质屏幕和(最大宽度:320px){}
.推特:之后{
明确:两者皆有;
显示:表格;
内容:'';
}


RT:说真的,放下你的一切。。。

给出

img, blockquote {
  float: none;
  display: inline-block;
}

/*作为外部资源包含最新编译和缩小的CSS*/
/*可选主题*/
@导入url('//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap theme.min.css');
身体{
背景:黑色;
利润率:10px;
颜色:白色
}
img,
大宗报价{
浮动:无;
显示:内联块;
}
/*============非移动第一种方法==========*/
/*大设备、宽屏幕*/
@仅介质屏幕和(最大宽度:1200px){}
/*中型设备、台式机*/
@仅媒体屏幕和(最大宽度:992px){}
/*小型设备、平板电脑*/
@仅介质屏幕和(最大宽度:768px){
img{
浮动:无
}
}
/*超小型设备、电话*/
@仅介质屏幕和(最大宽度:480px){}
/*定制,iPhone视网膜*/
@仅介质屏幕和(最大宽度:320px){}
.推特:之后{
明确:两者皆有;
显示:表格;
内容:'';
}


RT:说真的,放下你的一切。。。


我想说,最简单的方法是像这样设置一些css:

.tweet {
  display: table;
  width: 100%;
}

.tweet blockquote {
  display: table-cell;
  vertical-align: middle;
}
或者您可以使用
display:flex如果浏览器支持足够:


演示:

我认为最简单的方法是设置一些css,如下所示:

.tweet {
  display: table;
  width: 100%;
}

.tweet blockquote {
  display: table-cell;
  vertical-align: middle;
}
或者您可以使用
display:flex如果浏览器支持足够:


演示:

您需要将图像和块引号这两个元素的默认显示更改为内联块。然后您可以使用垂直对齐css属性并将其值设置为中间。您应该为blockquote元素设置一个width或max width,因为如果不这样做,blockquote可能会将自身置于图像下方

我修改了你的小提琴:


正如您所见,您可以使用calc作为报价宽度值,例如,如果图像宽度为100px,则报价必须为calc(100%-110px)。您必须知道内联块元素作为排版工作,因此空空间将作为一个nbsp;所以你应该多加4个像素。在我的示例中,我又添加了10个像素,但只有4个像素,这应该可以正常工作。

您需要将image和blockquote这两个元素的默认显示更改为inline block。然后您可以使用垂直对齐css属性并将其值设置为中间。您应该为blockquote元素设置一个width或max width,因为如果不这样做,blockquote可能会将自身置于图像下方

我修改了你的小提琴:


正如您所见,您可以使用calc作为报价宽度值,例如,如果图像宽度为100px,则报价必须为calc(100%-110px)。您必须知道内联块元素作为排版工作,因此空空间将作为一个nbsp;所以你应该多加4个像素。在我的示例中,我又添加了10个像素,但只有4个像素,这应该可以正常工作。

您可以通过几种不同的方式实现效果:Flexbox、带变换的绝对定位和带垂直对齐的
显示:表格
/
表格单元格
。由于其他答案已经涵盖了其他类型,以下是Flexbox版本:

.tweet{
边框:1px纯黑;
/*将.tweet用作flexbox容器*/
显示器:flex;
*对齐容器中间的所有项目*/
对齐项目:居中;
}
.tweet\uuu化身,.tweet\uuu身体{
边框:1px点红色;
}
.tweet___身体{
保证金:0;
/*这将指示浏览器将.tweet__;body一直拉伸到最后。
否则它将是