Css 用两个div填充宽度,其中一个可能不存在

Css 用两个div填充宽度,其中一个可能不存在,css,Css,我正在尝试创建一个非常基本的聊天系统,其中一部分是聊天行的输入框。如果用户已登录,这就是我所需要的;但是,如果用户没有登录,我需要一个额外的文本框,允许他们输入自己的名字 我有以下HTML(当然可以修改): 是否可以使用CSS对其进行样式设置,以便#name和#say一起填充表单的整个宽度,如果#name不存在,则#say占据所有宽度 (后端是Ruby on Rails;我有javascript可用,因此可以使用JS解决方案,但如果可能,更喜欢纯CSS)使用两种语言中的任何一种来确定用户是否

我正在尝试创建一个非常基本的聊天系统,其中一部分是聊天行的输入框。如果用户已登录,这就是我所需要的;但是,如果用户没有登录,我需要一个额外的文本框,允许他们输入自己的名字

我有以下HTML(当然可以修改):


是否可以使用CSS对其进行样式设置,以便
#name
#say
一起填充
表单的整个宽度,如果
#name
不存在,则
#say
占据所有宽度


(后端是Ruby on Rails;我有javascript可用,因此可以使用JS解决方案,但如果可能,更喜欢纯CSS)

使用两种语言中的任何一种来确定用户是否登录,创建一个条件语句,将html类添加到更改其宽度的输入字段中,例如.input full和.input partial

IF user is logged in
    SET class to input-full
ELSE
    SET class to input-partial
ENDIF
对不起,psedo代码,那么请为每种代码提供适当的CSS


哦,对不起,我没有看到CSS。如果没有CSS3和对IE的忽视,我认为直接使用CSS是无法做到这一点的。

使用两种语言中的任何一种来确定用户是否登录,创建一个条件语句,将html类添加到输入字段中,从而改变其宽度,例如.input full和.input partial

IF user is logged in
    SET class to input-full
ELSE
    SET class to input-partial
ENDIF
对不起,psedo代码,那么请为每种代码提供适当的CSS


哦,对不起,我没有看到CSS。如果没有CSS3和对IE的忽视,我认为你不能用直接的CSS来实现这一点。

对于一个简单的所有CSS解决方案,当#say是表单中的第一个元素时,尝试第一个子伪选择器覆盖默认的半宽度:

#name, #say{width:100px}
#say:first-child{width:200px}

这与简单的标记结构配合得很好。(我已经测试过了)

对于一个简单的所有CSS解决方案,当#say是表单中的第一个元素时,请尝试使用第一个子伪选择器覆盖默认半宽度:

#name, #say{width:100px}
#say:first-child{width:200px}

这与简单的标记结构配合得很好。(我已经测试过了)

基于上下文,我想您将使用编程语言(php、javascript)来完成很多工作?“你还能给我们提供什么其他信息?”道格拉斯马肯-公平点。根据上下文,我想您将使用一种编程语言(php、javascript)来完成很多工作?“你还能给我们提供什么其他信息?”道格拉斯马肯-公平点。加上它的RoR w/JS可用。足够公平。我沿着这条路走,很公平。我沿着这条路走,就是这张票!它甚至可以兼容到IE7!你在互联网上赢了1分,这就是入场券!它甚至可以兼容到IE7!你在网上赢了1分。