Snoopy
Snoopy

Reputation: 1357

Parent div tag alters styling

So I am trying to do conditional rendering and i've narrowed it down to the outside parent <div> tag being the culprit. So, I removed the conditional rendering and am trying to figure out why my card styling is being altered. Below I posted screenshots with and without parent div tag.

return (
      <div>
        <div className="card" id="chatcard">
          <div className="card-body">
            <h5 className="card-title">{this.props.user.user}</h5>
            <div className="card-text">
              <ChatList
                user={this.props.user}
                socket={this.props.socket}
                currentUser={this.props.currentUser}
              />
            </div>
          </div>
          <div className="card-footer">
            <small className="text-muted">
              <form>
                <ChatField
                  user={this.props.user}
                  socket={this.props.socket}
                  chatusers={this.props.index}
                />
              </form>
            </small>
          </div>
        </div>
      </div>
    );

CSS

.chat {
  color: white;
}

.chat .dropdown-toggle:after {
  content: none;
}

.userbutton {
  size: 2px;
}
.card {
  color: black;
}
.card-text {
  overflow: auto;
  height: 10rem;
}
.onlinebar {
  position: "absolute";
  color: red;
  bottom: 0;
  left: 0;
}
#chatbtn {
  color: black;
  width: 200px;

  margin-left: 5px;
  margin-top: 0px;
}

.chatcollapse {
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
}
#chatHeader {
  margin: 0px;
  padding: 0px;
}
#chatcard {
  width: 2rem;
}
.card-deck .card {
  max-width: calc(25% + 80px);
}
.card-body {
  padding: 0px;
  margin: 0px;
}
.bubble-r {
  align-items: flex-end;
  position: relative;
  background: #0072c6;
  max-width: 100px;
  padding: 5px;
  font-family: arial;
  margin: 0 auto;
  font-size: 14px;
  color: white;
  border-radius: 6px;
}

.bubble-r:after,
.bubble-r:before {
  left: 100%; /*change this from right to left*/
  top: 42%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.bubble-r:after {
  border-color: rgba(200, 200, 204, 0);
  border-left-color: #0072c6; /*change this from right to left */
  border-width: 8px;
  margin-top: -3px;
}

.bubble-r:before {
  border-color: rgba(200, 204, 0, 0);
  border-left-color: #0072c6; /*change this from right to left*/
  border-width: 8px;
  margin-top: -3px;
}

.bubble {
  position: relative;
  background: #cad5d7;

  max-width: 100px;
  padding: 5px;
  font-family: arial;
  margin: 0 auto;
  font-size: 14px;
  border-radius: 6px;
}
.bubble:after,
.bubble:before {
  right: 100%;
  top: 42%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.bubble:after {
  border-color: rgba(255, 255, 204, 0);
  border-right-color: #cad5d7;
  border-width: 8px;
  margin-top: -3px;
}
.bubble:before {
  border-color: rgba(255, 204, 0, 0);
  border-right-color: #cad5d7;
  border-width: 8px;
  margin-top: -3px;
}

enter image description hereenter image description here

Upvotes: 0

Views: 55

Answers (1)

Snoopy
Snoopy

Reputation: 1357

#chatcard {
  width: 40rem;
}

I adjusted the width within this and it worked. It's odd that adding the div tag caused this.

Upvotes: 1

Related Questions