au

India’s tour of Australia logistically easier to organsise than T20 World Cup, says BCCI treasurer

Dhumal admitted that quarantining of Indian players upon their arrival is a possibility, if their tour Down Under goess as per schedule.




au

Babri Masjid demolition case: SC extends trial court’s deadline to deliver verdict to August 31

The top court also said the trial court judge should hold proceedings via videoconferencing during the period of the nationwide lockdown.




au

India need to subdue Warner, Smith if they are to win series in Australia again, says Ian Chappell

Chappell highlighted the impact of the two batting mainstays should the much-anticipated series goes ahead as scheduled.




au

David Warner and Rohit Sharma discuss India’s Test win in Australia, T20 World Cup’s future and more

During the Instagram live chat, Rohit said India’s tour of Australia will be a great way to restart international calendar after the coronavirus pandemic.




au

It will be a hollow feeling if IPL and T20 World Cup goes ahead without fans, says Australia’s Carey

Carey is open to the idea of playing in empty stadiums, which according to him could be a way forward.




au

Aurangabad train accident: NHRC issues notice to Maharashtra, says tragedy could have been averted

Meanwhile, the railway safety watchdog said the victims had gathered along the track under the impression that the train services have been suspended.




au

Coronavirus: Pune-based cricket museum buys Azhar Ali’s auctioned bat and jersey to raise funds

The Pakistan Test captain had put his bat used to score triple century in a day-night Test and Champions Trophy 2017 jersey up for auction.




au

Vanessa Bryant sues LA County sheriff for taking unauthorised photographs of Kobe’s crash site

Vanessa is seeking damages in the wake of revelations that eight sheriff’s department deputies took graphic photos of the scene and shared them with others.




au

Covid-19: Karnataka allows restaurants, pubs, bars to sell liquor but only as takeaway

The establishments will be allowed to sell liquor from 9 am to 7 pm.




au

Four years after bank defaulters flee India, SBI launches complaint against Delhi firm with CBI

The owners of Ram Dev International Limited are said to be missing since 2016 when an inspection was carried out by SBI.




au

Australian captain Meg Lanning leads online batting class for Ireland women’s cricket team

Lanning was joined by former Ireland skipper Isobel Joyce in the session that also featured the head coaches of both teams Ed Joyce and Matthew Mott.




au

Aurangabad train accident: MP government’s negligence led to deaths of 16 migrants, alleges Congress

The party said that the workers had applied to the state government for passes to return home, but the administration did not act on it.




au

Pause, rewind, play: When the Tiger oozed class and confidence - a rare interview of MAK Pataudi

In this fascinating footage Pataudi, one of the greatest Indian captains, talks about how he became a leader, the accident that damaged his eye, and more.




au

[ASAP] Mercury Magnetic Isotope Effect: A Plausible Photochemical Mechanism

The Journal of Physical Chemistry A
DOI: 10.1021/acs.jpca.0c00661




au

09/16:43 EST Cancellation Severe Weather Warning for Snowy Mountains and Australian Capital Territory Forecast Districts.




au

COVID-19 Diary Week 3: I've Never Been More Emotionally Exhausted

After a week seeing cancer patients with COVID-19 as the inpatient consult attending, Don Dizon finds himself more emotionally exhausted than he's ever been before.
Medscape Oncology




au

Octopus crowd: maritime history and the business of Australian pearling in its schooner age / Steve Mullins

Hayden Library - SH377.A8 M85 2019




au

Sustainable Rice Straw Management Martin Gummert, Nguyen Van Hung, Pauline Chivenge, Boru Douthwaite, editors

Online Resource




au

Lessons in environmental microbiology / authored by Roger Tim Haug

Online Resource




au

Statistical methods and applications in forestry and environmental sciences Girish Chandra, Raman Nautiyal, Hukum Chandra, editors

Online Resource




au

Landscape impact assessment in planning processes / Ingrid Belčáková, Paola Gazzola, Eva Pauditšová ; managing editor Agnieszka Topolska, language editor Jonathan Wotton

Rotch Library - GF90.B45 2018




au

Sustainable management of phytoplasma diseases in crops grown in the tropical belt: biology and detection / Chrystel Y. Olivier, Tim J. Dumonceaux, Edel Pérez-López, editors

Online Resource




au

Tropical ecosystems in Australia: responses to a changing world / Dilwyn J. Griffiths

Online Resource




au

Socio-economic and eco-biological dimensions in resource use and conservation: strategies for sustainability / Niranjan Roy, Shubhadeep Roychoudhury, Sunil Nautiyal, Sunil K. Agarwal, Sangeeta Baksi, editors

Online Resource




au

Tropical wetlands: proceedings of the International Workshop on Tropical Wetlands - Innovation in Mapping and Management, October 19-20, 2018, Banjarmasin, Indonesia / edited by Yiyi Sulaeman, Laura Poggio, Budiman Minasny, Dedi Nursyamsi

Online Resource




au

The imperiled ocean: human stories from a changing sea / Laura Trethewey

Dewey Library - QH541.5.S3 T74 2019




au

Ecological models / Jay Odenbaugh

Dewey Library - QH541.15.M3 O44 2019




au

Fire effects on soil properties / editors, Paulo Pereira, Jorge Mataix-Solera, Xavier Úbeda, Guillermo Rein and Artemi Cerdà

Online Resource




au

Fire in California's ecosystems / edited by Jan W. van Wagtendonk, Neil G. Sugihara, Scott L. Stephens, Andrea E. Thode, Kevin E. Shaffer, and JoAnn Fites-Kaufman

Dewey Library - QH105.C2 F57 2018




au

Innovative pest management approaches for the 21st Century: harnessing automated unmanned technologies / Akshay Kumar Chakravarthy, editor

Online Resource




au

Viscoelastic interfaces comprising of cellulose nanocrystals and lauroyl ethyl arginate for enhanced foam stability

Soft Matter, 2020, 16,3981-3990
DOI: 10.1039/C9SM02392E, Paper
Agnieszka Czakaj, Aadithya Kannan, Agnieszka Wiśniewska, Gabriela Grześ, Marcel Krzan, Piotr Warszyński, Gerald G. Fuller
At submillimolar concentrations of lauroyl ethyl arginate, cellulose nanocrystals aggregate and form elongated fibres. This interfacial assembly efficiently stabilises foams.
The content of this RSS Feed (c) The Royal Society of Chemistry




au

Properties of surface Landau–de Gennes Q-tensor models

Soft Matter, 2020, 16,4032-4042
DOI: 10.1039/C9SM02475A, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Michael Nestler, Ingo Nitschke, Hartmut Löwen, Axel Voigt
Uniaxial nematic liquid crystals whose molecular orientation is subjected to tangential anchoring on a curved surface offer a non trivial interplay between the geometry and the topology of the surface and the orientational degree of freedom.
The content of this RSS Feed (c) The Royal Society of Chemistry




au

Pinning dislocations in colloidal crystals with active particles that seek stacking faults

Soft Matter, 2020, 16,4182-4191
DOI: 10.1039/C9SM02514F, Paper
Bryan VanSaders, Sharon C. Glotzer
By designing the shape of an active particle, its transport through a dense crystal can be tailored, as well as its interaction with dislocation defects present in the host crystal.
The content of this RSS Feed (c) The Royal Society of Chemistry




au

Does your 2020 talent plan reflect automation and AI trends?


Automation and Artificial Intelligence (AI) are radically changing the way modern networks are being designed, operated and resourced.
More RSS Feed for Cisco: newsroom.cisco.com/rss-feeds ...




au

[ASAP] Update to Our Reader, Reviewer, and Author Communities—April 2020

ACS Photonics
DOI: 10.1021/acsphotonics.0c00628




au

[ASAP] Line-Scan Hyperspectral Imaging Microscopy with Linear Unmixing for Automated Two-Dimensional Crystals Identification

ACS Photonics
DOI: 10.1021/acsphotonics.0c00050




au

Beautiful Scrolling Experiences – Without Libraries

Michelle Barker appears as one of a heavenly host, coming forth with scroll in hand to pronounce an end to janky scrolljacking! Unto us a new specification is born, in the city of TimBL, and its name shall be called Scroll Snap.


Sponsor: Order any Standard paperback(s) and get a surprise gift card in the box for YOU. While supplies last, from your pals at A Book Apart!


One area where the web has traditionally lagged behind native platforms is the perceived “slickness” of the app experience. In part, this perception comes from the way the UI responds to user interactions – including the act of scrolling through content.

Faced with the limitations of the web platform, developers frequently reach for JavaScript libraries and frameworks to alter the experience of scrolling a web page – sometimes called “scroll-jacking” – not always a good thing if implemented without due consideration of the user experience. More libraries can also lead to page bloat, and drag down a site’s performance. But with the relatively new CSS Scroll Snap specification, we have the ability to control the scrolling behaviour of a web page (to a degree) using web standards – without resorting to heavy libraries. Let’s take a look at how.

Scroll Snap

A user can control the scroll position of a web page in a number of ways, such as using a mouse, touch gesture or arrow keys. In contrast to a linear scrolling experience, where the rate of scroll reflects the rate of the controller, the Scroll Snap specification enables a web page to snap to specific points as the user scrolls. For this, we need a fixed-height element to act as the scroll container, and the direct children of that element will determine the snap points. To demonstrate this, here is some example HTML, which consists of a <div> containing four <section> elements:

<div class="scroll-container">
  <section>
    <h2>Section 1</h2>
  </section>
  <section>
    <h2>Section 2</h2>
  </section>
  <section>
    <h2>Section 3</h2>
  </section>
  <section>
    <h2>Section 4</h2>
  </section>
</div>

Scroll snapping requires the presence of two main CSS properties: scroll-snap-type and scroll-snap-align. scroll-snap-type applies to the scroll container element, and takes two keyword values. It tells the browser:

  • The direction to snap
  • Whether snapping is mandatory

scroll-snap-align is applied to the child elements – in this case our <section>s.

We also need to set a fixed height on the scroll container, and set the relevant overflow property to scroll.

.scroll-container {
  height: 100vh;
  overflow-y: scroll;
  scroll-snap-type: y mandatory;
}

section {
  height: 100vh;
  scroll-snap-align: center;
}

In the above example, I’m setting the direction in the scroll-snap-type property to y to specify vertical snapping. The second value specifies that snapping is mandatory. This means that when the user stops scrolling their scroll position will always snap to the nearest snap point. The alternative value is proximity, which determines that the user’s scroll position will be snapped only if they stop scrolling in the proximity of a snap point. (It’s down to the browser to determine what it considers to be the proximity threshold.)

If you have content of indeterminate length, which might feasibly be larger than the height of the scroll container (in this case 100vh), then using a value of mandatory can cause some content to be hidden above or below the visible area, so is not recommended. But if you know that your content will always fit within the viewport, then mandatory can produce a more consistent user experience.

See the Pen Simple scroll-snap example by Michelle Barker (@michellebarker) on CodePen.

In this example I’m setting both the scroll container and each of the sections to a height of 100vh, which affects the scroll experience of the entire web page. But scroll snapping can also be implemented on smaller components too. Setting scroll snapping on the x-axis (or inline axis) can produce something like a carousel effect.

In this demo, you can scroll horizontally scroll through the sections:

See the Pen Carousel-style scroll-snap example by Michelle Barker (@michellebarker) on CodePen.

The Intersection Observer API

By implementing the CSS above, our web page already has a more native-like feel to it. To improve upon this further we could add some scroll-based transitions and animations. We’ll need to employ a bit of Javascript for this, using the Intersection Observer API. This allows us to create an observer that watches for elements intersecting with the viewport, triggering a callback function when this occurs. It is more efficient than libraries that rely on continuously listening for scroll events.

We can create an observer that watches for each of our scroll sections coming in and out of view:

const sections = [...document.querySelectorAll('section')]

const options = {
  rootMargin: '0px',
  threshold: 0.25
}

const callback = (entries) => {
  entries.forEach((entry) => {
    if (entry.intersectionRatio >= 0.25) {
      target.classList.add("is-visible");
    } else {
      target.classList.remove("is-visible");
    }
  })
}

const observer = new IntersectionObserver(callback, options)

sections.forEach((section, index) => {
  observer.observe(section)
})

In this example, a callback function is triggered whenever one of our sections intersects the container by 25% (using the threshold option). The callback adds a class of is-visible to the section if it is at least 25% in view when the intersection occurs (which will take effect when the element is coming into view), and removes it otherwise (when the element is moving out of view). Then we can add some CSS to transition in the content for each of those sections:

section .content {
  opacity: 0:
}

section.is-visible .content {
  opacity: 1;
  transition: opacity 1000ms:
}

This demo shows it in action:

See the Pen Scrolling with Intersection Observer by Michelle Barker (@michellebarker) on CodePen.

You could, of course, implement some much more fancy transition and animation effects in CSS or JS!

As an aside, it’s worth pointing out that, in practice, we shouldn’t be setting opacity: 0 as the default without considering the experience if JavaScript fails to load. In this case, the user would see no content at all! There are different ways to handle this: We could add a .no-js class to the body (which we remove on load with JS), and set default styles on it, or we could set the initial style (before transition) with JS instead of CSS.

Position: sticky

There’s one more CSS property that I think has the potential to aid the scroll experience, and that’s the position property. Unlike position: fixed, which locks the position of an element relative to the nearest relative ancestor and doesn’t change, position: sticky is more like a temporary lock. An element with a position value of sticky will become fixed only until it reaches the threshold of its parent, at which point it resumes relative positioning.

By “sticking” some elements within scroll sections we can give the impression of them being tied to the action of scrolling between sections. It’s pretty cool that we can instruct an element to respond to it’s position within a container with CSS alone!

Browser support and fallbacks

The scroll-snap-type and scroll-snap-align properties are fairly well-supported. The former requires a prefix for Edge and IE, and older versions of Safari do not support axis values. In newer versions of Safari it works quite well. Intersection Observer similarly has a good level of support, with the exception of IE.

By wrapping our scroll-related code in a feature query we can provide a regular scrolling experience as a fallback for users of older browsers, where accessing the content is most important. Browsers that do not support scroll-snap-type with an axis value would simply scroll as normal.

@supports (scroll-snap-type: y mandatory) {
  .scroll-container {
    height: 100vh;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
  }

  section {
    height: 100vh;
    scroll-snap-align: center;
  }
}

The above code would exclude MS Edge and IE, as they don’t support axis values. If you wanted to support them you could do so using a vendor prefix, and using @supports (scroll-snap-type: mandatory) instead.

Putting it all together

This demo combines all three of the effects discussed in this article.

Summary

Spending time on scroll-based styling might seem silly or frivolous to some. But I believe it’s an important part of positioning the web as a viable alternative to native applications, keeping it open and accessible. While these new CSS features don’t offer all of the control we might expect with a fully featured JS library, they have a major advantage: simplicity and reliability. By utilising web standards where possible, we can have the best of both worlds: Slick and eye-catching sites that satisfy clients’ expectations, with the added benefit of better performance for users.


About the author

Michelle is a Lead Front End Developer at Bristol web agency Atomic Smash, author of front-end blog CSS { In Real Life }, and a Mozilla Tech Speaker. She has written articles for CSS Tricks, Smashing Magazine, and Web Designer Magazine, to name a few. She enjoys experimenting with new CSS features and helping others learn about them.

More articles by Michelle




au

UNITED STATES v. DAVIS, MAURICE L., ET AL.. Decided 06/24/2019




au

RUCHO, ROBERT A., ET AL. v. COMMON CAUSE, ET AL.. Decided 06/27/2019




au

Reluctant warriors: Germany, Japan, and their U.S. alliance dilemma / Alexandra Sakaki, Hanns W. Maull, Kerstin Lukner, Ellis S. Krauss, Thomas U. Berger

Dewey Library - UA710.S135 2020




au

Power to the people: how open technological innovation is arming tomorrow's terrorists / Audrey Kurth Cronin

Dewey Library - U39.C76 2020




au

Human rights in twentieth-century Australia / Jon Piccini

Dewey Library - JC599.A8 P53 2019




au

How to democratize Europe / Stephanie Hennette, Thomas Piketty, Guillaume Sacriste, Antoine Vauchez

Online Resource




au

Automation and utopia: human flourishing in a world without work / John Danaher

Online Resource




au

The suspect: an Olympic bombing, the FBI, the media, and Richard Jewell, the man caught in the middle / Kent Alexander & Kevin Salwen

Dewey Library - HV8079.B62 A44 2019




au

Militarization: a reader / Roberto J. González, Hugh Gusterson, Gustaaf Houtman, editors ; in collaboration with Catherine Besteman, Andrew Bickford, Catherine Lutz, Katherine T. McCaffrey, Austin Miller, David H. Price, David Vine

Dewey Library - U21.2.M558 2019




au

The politics of recall elections Yanina Welp, Laurence Whitehead, editors

Online Resource




au

Cambodia: return to authoritarianism / Kheang Un

Dewey Library - JC480.U54 2019




au

Citizenship as a regime: Canadian and international perspectives / edited by Mireille Paquet, Nora Nagels, and Aude-Claire Fourot

Dewey Library - JF801.C58 2018




au

Contractual politics and the institutionalization of bureaucratic influence / Glenn R. Parker and Suzanne L. Parker

Dewey Library - JK468.C7 P37 2018