Stable header and footer remain in place even when the menu is opened

I'm encountering an issue in my Angular application where, specifically on mobile devices, the footer and header jump down by 105px when opening the sidebar menu. You can observe this behavior by accessing the app here. Interestingly, I have been unable to replicate this problem in Chrome on desktop.

To reproduce the issue, please use the following credentials and navigate to any channel before pulling out the sidebar menu:

username: [email protected] password: test

index.html:

<!doctype html>
<html class="no-js">
  <head>
    <meta charset="utf-8">
    <title>Slackchat</title>
    <meta name="description" content="">
    ... (remaining code here)
</body>
</html>

messages.html

<div class="ui padded grid">
... (content omitted for brevity)
</div>

<!-- SEMANTIC MODAL DROPDOWN -->
  <script>
    $('.dropdown').dropdown({
        // you can use any ui transition
        transition: 'drop'
    });
  </script>

main.css

body {
  padding: 0;
  background: #eef2f5;
}
... (remaining CSS styles included as-is)

Answer №1

To ensure only your main scrollable content is scrolling, it's recommended to place it within

<md-content></md-content>
and consider adding the md-scroll-y attribute to prevent x scrolling. This will create a better user experience by focusing the scrolling on specific areas of your app, such as a chat section.

If you'd like to see a demonstration of using md-content, check out this link: https://material.angularjs.org/latest/#/demo/material.components.content

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Customizing a ControlsFX PopOver in a JavaFX application

I am looking to personalize the appearance of a JavaFX PopOver control. I have a button that triggers the display of the PopOver. Below is a functional example: package custompopover; import javafx.application.Application; import javafx.event.ActionEvent ...

Is there a way to identify if an element has been clicked using jQuery upon initial page load?

Currently, I am attempting to assign a javascript variable to one of several possibilities. If a specific link has not been clicked (such as on the initial page load), then the variable should default to 0 or 1. However, if one of those links has been cl ...

What is the process for including a new dependency in Angular module's dependency array?

I am attempting to utilize the angular-bootstrap-nav-tree library in my project, but I am encountering an issue where I cannot add 'angularBootstrapNavTree' to the list of dependencies for my module. The error message I am receiving is "Unknown p ...

Establish a color scheme for visited hyperlinks

I have come across several discussions about the :visited pseudo-class not working anymore, especially on modern browsers. Most of these discussions are older posts. For example, one of them can be found here: Google chrome a:visited background image not ...

What could be causing the inability to retrieve the HTML content of $(window['iframeName'].document.body) when I modify the .attr('src') method?

Why isn't it functioning $(window['iframeName'].document.body).html() ...properly when I update the .attr('src')? When I initially set the src attribute of the iframe to a URL upon creating the page, this code $(window['i ...

Callback function located within directive attribute specified in separate attribute

Recently, I created a directive called mySave, and it looks like this: app.directive('mySave', function($http) { return function(scope, element, attrs) { element.bind("click", function() { $http.post('/save', scope.d ...

Implementing a dynamic top navbar that transitions to the side on desktop with Bootstrap

I have been faced with the challenge of creating a responsive navigation bar that appears at the top on mobile devices and on the side on desktops. The issue arises when considering how to structure the rows and columns to achieve this. For mobile views, ...

The setViewValue function within a directive is not properly updating the displayed value in the input field

It's been a real struggle for me trying to solve this issue for nearly two days now. I'm really hoping that someone here can lend a hand. Here's a brief summary of my problem: I am facing difficulties setting the view value of certain inp ...

Guide to positioning a singular image at the center of a page with Bootstrap 4

This seems like a simple task, but despite my efforts, I have yet to come across a solution. The issue is straightforward - I have a single image that I want to display in the center of the page. That's it. Below is the CSS code that successfully ac ...

Unit tests using ngMock never seem to reach completion when dealing with external promises

I'm currently facing a challenge in unit testing the handling of external promises being resolved or rejected. The issue arises when using the ngMock module, as it seems to prevent these promises from ever completing. This is particularly problematic ...

Jquery Flip! plugin causing problems with Ajax functionality

I'm currently experimenting with the FLIP! plugin and attempting to load its content using ajax. However, I've encountered a glitch along the way. It just doesn't seem to be functioning properly. While I can observe the post event taking pl ...

Styling a Razor view using inline CSS and responsive media queries

I need to add some simple inline styling for print purposes to an .cshtml page I'm working on. I initially tried using the @media print media query, but it is causing issues with my cshtml page. Is there a workaround for this problem? The culprit see ...

"Geolocation within the boundary of a map: what's the message

Can text be placed inside a shape using ng-map? <ng-map default-style="true" zoom="18" center="53.25564575, -113.81401062" map-type-id="SATELLITE"> <shape name="rectangle" editable="true" draggable="true" bounds="[[53.2559199723254, ...

Flexbox - managing wrapping on legacy devices

Utilizing flexbox, I have successfully designed a 2 column layout with a div at the top spanning both columns for a menu format. While this works flawlessly in Chrome and iOS7, it appears to be ineffective in outdated versions of Safari. In this fiddle, yo ...

Using Angular JS to apply filters conditionally

Average Product and Channel Price: {{average_price | currency}} The average price is represented as a string with an initial value of 'None', which cannot be 0.0. Initially, the value 'None' is not displayed when applying the currency ...

Restangular failing to send data parameters in POST request

I'm currently exploring the functionalities of Restangular. However, I am facing an issue with a POST request that doesn't seem to be working correctly. Restangular.all("user").all("login").post({username: '<a href="/cdn-cgi/l/email-prot ...

A shooting star bestows its identity to a hyperlink

I have successfully set up my database and now I want the user to be able to click on an item in the database to view more detailed information. However, the ID of the data is not being inserted into the link. <template name="meineEvents"> <ul& ...

What is the method to use Python in writing content within a <div> tag?

Edit To tackle this issue, I have discovered that the sned_keys() method of the selenium driver can provide a solution. Currently, my focus is on creating a webwhatsapp spamming script and the task at hand involves: <div class="input" contenteditable= ...

What is the best way to run a function after 10 seconds of inactivity using jquery?

Can anyone help me figure out how to run a function every 10 seconds when the system is idle? Here's an example: setInterval(function () { test(); },10000); //for every 10 Sec I really need assistance in getting this function to ...

Does JavaScript work in Firefox, but not in IE or Chrome browsers?

I am encountering an issue with the JavaScript on my website: $(function() { var $cells = $("td"); $("#search").keyup(function() { var val = $.trim(this.value).toUpperCase(); if (val === "") { $cells.parent().show(); ...