#StackBounty: #css #mixins #less-css Less CSS Mixin for positioning with options for corresponding top, left, right, bottom values

Bounty: 50

I’ve created a Mixin in Less CSS. It can do the following things:

  • Set the position-rule of an element.
  • Place the element in one of the corners (e.g. top left, bottom right etc.)
  • Alternatively it can set explicit values for top|right|bottom|left.

Usage example:

.test-1 {
    .position(absolute, top, right);
}

Exmaples of the resulting CSS:

.position() { position: static; }
.position(relative) { position: relative; }
.position(absolute, top, right) { position: absolute; top: 0; bottom: auto; left: auto; right: 0; }
.position(absolute, bottom, left) { position: absolute; top: auto; bottom: 0; left: 0; right: auto; }
.position(fixed, 20px, 50%) { position: fixed; top: 20px; right: 50%; }
.position(fixed, 10px, null, null, 10%) { fixed: absolute; top: 10px; left: 10%; }
.position(absolute, 10px, -, -, 10%) { position: absolute; top: 10px; left: 10%; }

The Mixin:

.position(@position: static; @a: null; @b: null; @c: null; @d: null) {
    position: @position;

    & when (top = @a) {
        top: 0;
        bottom: auto;
    }

    & when (bottom = @a) {
        top: auto;
        bottom: 0;
    }

    & when (left = @b) {
        left: 0;
        right: auto;
    }

    & when (right = @b) {
        left: auto;
        right: 0;
    }

    & when not (null = @a) and not (~'-' = @a) and not (top = @a) and not (bottom = @a) {
        top: @a;
    }

    & when not (null = @b) and not (~'-' = @b) and not (top = @b) and not (bottom = @b) {
        right: @b;
    }

    & when not (null = @c) and not (~'-' = @c) {
        bottom: @c;
    }

    & when not (null = @d) and not (~'-' = @d) {
        left: @d;
    }
}

I’ve also created a shortahand version .p(), which can be called instead of .position():

.p(@position: static; @a: null; @b: null; @c: null; @d: null) {
    .position(@position; @a; @b; @c; @d);
}

My questions are:

  • Is this a useful Mixin?
  • Or is it a bad practie to create Mixins like this?
  • Is it too complicated or too hard to understand?
  • Can this be optimized or shortend?

Even though most of the time I need to use top and left for positioning, I found it more related to other CSS rules like margin when the values are sorted clockwise like top|right|bottom|left.


Get this bounty!!!

#StackBounty: #css #gaussianblur #fluent-design #acrylic-material CSS-only Acrylic Material from Fluent Design System

Bounty: 200

With the advent of Microsoft’s Fluent Design System and the propagation of the new Acrylic Material around the Windows ecosystem, I tought it would be great to use it in some Web layouts. Acoording to the spec, the composition of an acrylic brush would be:

How we designed acrylic material

So I went to try a CSS-only approach inspired by the layers in that picture, this way:

body {
  margin: 0;
  font: 1em/1.4 Sans-serif;
  background: url("http://www.wallpapers-web.com/data/out/191/5484624-sunset-wallpapers.jpg") center center;
  background-size: 100vw auto;
}

main {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
}

.acrylic {
  padding: 4em 6em;
  position: relative;
  overflow: hidden;
}

.acrylic::before {
  background: url("http://www.wallpapers-web.com/data/out/191/5484624-sunset-wallpapers.jpg") center center;
  background-size: 100vw auto;
  filter: blur(10px);
  content: "";
  position: absolute;
  left: -10px;
  top: -10px;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  z-index: -1;
}

.acrylic::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  opacity: 0.65;
  border: 1px solid #fff;
  background: #fff;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW17e3t1dXWBgYGHh4d5eXlzc3OLi4ubm5uVlZWPj4+NjY19fX2JiYl/f39ra2uRkZGZmZlpaWmXl5dvb29xcXGTk5NnZ2c8TV1mAAAAG3RSTlNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAvEOwtAAAFVklEQVR4XpWWB67c2BUFb3g557T/hRo9/WUMZHlgr4Bg8Z4qQgQJlHI4A8SzFVrapvmTF9O7dmYRFZ60YiBhJRCgh1FYhiLAmdvX0CzTOpNE77ME0Zty/nWWzchDtiqrmQDeuv3powQ5ta2eN0FY0InkqDD73lT9c9lEzwUNqgFHs9VQce3TVClFCQrSTfOiYkVJQBmpbq2L6iZavPnAPcoU0dSw0SUTqz/GtrGuXfbyyBniKykOWQWGqwwMA7QiYAxi+IlPdqo+hYHnUt5ZPfnsHJyNiDtnpJyayNBkF6cWoYGAMY92U2hXHF/C1M8uP/ZtYdiuj26UdAdQQSXQErwSOMzt/XWRWAz5GuSBIkwG1H3FabJ2OsUOUhGC6tK4EMtJO0ttC6IBD3kM0ve0tJwMdSfjZo+EEISaeTr9P3wYrGjXqyC1krcKdhMpxEnt5JetoulscpyzhXN5FRpuPHvbeQaKxFAEB6EN+cYN6xD7RYGpXpNndMmZgM5Dcs3YSNFDHUo2LGfZuukSWyUYirJAdYbF3MfqEKmjM+I2EfhA94iG3L7uKrR+GdWD73ydlIB+6hgref1QTlmgmbM3/LeX5GI1Ux1RWpgxpLuZ2+I+IjzZ8wqE4nilvQdkUdfhzI5QDWy+kw5Wgg2pGpeEVeCCA7b85BO3F9DzxB3cdqvBzWcmzbyMiqhzuYqtHRVG2y4x+KOlnyqla8AoWWpuBoYRxzXrfKuILl6SfiWCbjxoZJUaCBj1CjH7GIaDbc9kqBY3W/Rgjda1iqQcOJu2WW+76pZC9QG7M00dffe9hNnseupFL53r8F7YHSwJWUKP2q+k7RdsxyOB11n0xtOvnW4irMMFNV4H0uqwS5ExsmP9AxbDTc9JwgneAT5vTiUSm1E7BSflSt3bfa1tv8Di3R8n3Af7MNWzs49hmauE2wP+ttrq+AsWpFG2awvsuOqbipWHgtuvuaAE+A1Z/7gC9hesnr+7wqCwG8c5yAg3AL1fm8T9AZtp/bbJGwl1pNrE7RuOX7PeMRUERVaPpEs+yqeoSmuOlokqw49pgomjLeh7icHNlG19yjs6XXOMedYm5xH2YxpV2tc0Ro2jJfxC50ApuxGob7lMsxfTbeUv07TyYxpeLucEH1gNd4IKH2LAg5TdVhlCafZvpskfncCfx8pOhJzd76bJWeYFnFciwcYfubRc12Ip/ppIhA1/mSZ/RxjFDrJC5xifFjJpY2Xl5zXdguFqYyTR1zSp1Y9p+tktDYYSNflcxI0iyO4TPBdlRcpeqjK/piF5bklq77VSEaA+z8qmJTFzIWiitbnzR794USKBUaT0NTEsVjZqLaFVqJoPN9ODG70IPbfBHKK+/q/AWR0tJzYHRULOa4MP+W/HfGadZUbfw177G7j/OGbIs8TahLyynl4X4RinF793Oz+BU0saXtUHrVBFT/DnA3ctNPoGbs4hRIjTok8i+algT1lTHi4SxFvONKNrgQFAq2/gFnWMXgwffgYMJpiKYkmW3tTg3ZQ9Jq+f8XN+A5eeUKHWvJWJ2sgJ1Sop+wwhqFVijqWaJhwtD8MNlSBeWNNWTa5Z5kPZw5+LbVT99wqTdx29lMUH4OIG/D86ruKEauBjvH5xy6um/Sfj7ei6UUVk4AIl3MyD4MSSTOFgSwsH/QJWaQ5as7ZcmgBZkzjjU1UrQ74ci1gWBCSGHtuV1H2mhSnO3Wp/3fEV5a+4wz//6qy8JxjZsmxxy5+4w9CDNJY09T072iKG0EnOS0arEYgXqYnXcYHwjTtUNAcMelOd4xpkoqiTYICWFq0JSiPfPDQdnt+4/wuqcXY47QILbgAAAABJRU5ErkJggg==);
}

.shadow {
  border-radius: 1px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1), 0 1px 8px rgba(0, 0, 0, 0.2);
}
<main>
  
Acrylic material!
</main>

The result is really close to the spec and is also responsive, but has a big problem: just stack another .acrylic div and the background trick doesn’t work anymore.

The question is: is there some smarter way to gaussian blur without duplicating the body background for each children? Or maybe some smarter way to dinamically calculate its position?


Get this bounty!!!

#StackBounty: #javascript #jquery #html #css #google-maps Google Maps in jQuery Accordion works in jsFiddle, but maps do not load on my…

Bounty: 50

I am trying to simply make an expanding list of Google Maps which allow you to locate an item. Here I have a static HTML page where you can click records and they will expand to show you a Google Map. The map, however, only comes through as grey until you resize the page.

Here is the page with the problem (the extension says php, but it doesn’t actually have any): https://yt074.addons.la/tmp/track/list.php

I’m already calling google.maps.event.trigger(maps[i], 'resize'); within the code (as you can see by viewing source), and I have tried jQuery(window).trigger('resize');, window.dispatchEvent(new Event('resize')); and a few others to simulate a resizing of the window, but to no avail.

Here is a jsFiddle with the code from above literally copy/pasted into the fiddle and it works: https://jsfiddle.net/myingling/Lkdmp1zo/

Or here is a shorter version on my server which is not working: https://yt074.addons.la/tmp/track/fiddle.php

What am I missing on my server? Server is ubuntu running nginx on an AWS EC2 cluster, but once the code is client-side I don’t understand why that would matter (but better safe to explain).


Get this bounty!!!

#StackBounty: #css #svg Relatively scale Svg inside fixed Div with CSS

Bounty: 50

I have two svg graphics which do not have the same size, but the content does relatively suit each other, see the following example:
enter image description here

The Goal

I search for a solution which preserves the ratio between both svg´s while having both images in a “fixed frame”.

The Problem

The following example shows how the left person “gets bigger” since the svg is smaller than the svg from the right person and can grow more inside the fxied frame (max-width and max-height 100%) like this

enter image description here

I can´t change the svg files (i.e. the viewbox) since they are loaded on a canvas and working right there.

This two SVGs are just an example, there are a lot of other SVGs with different sizes and ratios between each other.

JsFiddle

I prepared a Fiddle to play around and try possible solutions: https://jsfiddle.net/e6hs4w3s/


Get this bounty!!!

#StackBounty: #css #css3 #framework7 match the design to iphone4 & iphone 5

Bounty: 50

I have problem to match the buttons to iphone 4 and iphone 5 only.
all the other platform design phones looks good and responsive but only iphone 4 & 5 little strange.

as you can see in nexus, galaxy and iphone 6 it looks good
enter image description here
enter image description here

but in iphone 4 i need to scroll down and the forgot password and create account is one on the other.
enter image description here

enter image description here

enter image description here

<

div class=”snippet”>

<

div class=”snippet-code”>