"Mr Branding" is a blog based on RSS for everything related to website branding and website design, it collects its posts from many sites in order to facilitate the updating to the latest technology.
To suggest any source, please contact me: Taha.baba@consultant.com
Thursday, August 16, 2018
Twitter Might Get Banned In Pakistan Over Objectionable Content
[ This is a content summary only. Visit our website https://ift.tt/1b4YgHQ for full links, other content, and more! ]
by Mehwish Mehmood via Digital Information World
5 Top Development Tools that Will Help You Do More in Less Time
This article was created in partnership with BAWMedia. Thank you for supporting the partners who make SitePoint possible.
A web developer's life is often a rewarding one. But having your superior breathing down your neck might be not that encouraging. This is especially if he is demanding you to do more in less time. It can at times drive you nearly to the edge.
Those who are not actually doing the work sometimes forget how complex this job is. Building a connected IoT solution using hardware can be quite hard. With the right software, however, tasks such as these can then be a lot easier.
Here are some solutions we've gathered together that do just that. If you need a development tool to revamp an eCommerce site, you are in the right place. The same goes for the case if you simply want to learn more about the process and available tools. Our findings are based on site ranking, reviews, and overall value.
1. monday.com
One way to make your life easier, and do so quickly, is to invest in a quality team management tool. Although the meaning of quality can vary from user to user, it typically addresses overall performance, flexibility, and an absence of bothersome restrictions or limitations.
monday.com scores a perfect 10 on all three counts. Besides being beautiful, colorful, and intuitive to use, this team management tool provides a platform that a team simply cannot do without whether it’s a team of two or a distributed team of hundreds or thousands of developers and other project stakeholders.
monday.com provides a valuable service by making a project’s workflow perform smoothly and efficiently. Just as importantly, it promotes transparency, team collaboration, and empowerment of individual team members.
It also centralizes processes and it helps connect people to those processes, which is important if not essential in preventing tasks from falling through the cracks and causing problems that can range from bothersome to devastating. More than 35,000 teams, from startups to Fortune 500 companies make up monday.com's user base.
2. Waypoints
Waypoints is one of those must-have tools that you'd want to have in your toolbox if you are looking for the perfect way to facilitate scrolling animations and interactions. Considering the popularity of these elements in the modern website layouts and the fact that Waypoints is a free plan – you should definitely get your hands on it.
This flexible tool is the library that makes executing a function whenever you scroll to an element a breeze. It is available for jQuery, Zepto or in vanilla JavaScript. With Waypoints, you will be able to include the JavaScript file to the website, thanks to its module's administration interface. Also, this useful plugin features an extensive base for UI patterns that vary depending on a user's scroll position on the page.
Waypoints also has some extensions that enable the easier implementation of the common UI patterns. These include Infinite Scrolling, Sticky Elements and Inview Detection.
3. AND CO From Fiverr
The post 5 Top Development Tools that Will Help You Do More in Less Time appeared first on SitePoint.
by SitePoint Team via SitePoint
Redesigning a Card-based Tumblr Layout with CSS Grid
In this tutorial we’re going to retrofit a grid-based design to a layout inspired by the What’re you into? Tumblr page, where the user can select a set of topics to tailor their recommended content.
Only the visual design of the grid is executed, not the selection functionality, as shown in the Pen we’ll be building:
See the Pen MBdNav by SitePoint (@SitePoint) on CodePen.
The main goal is to implement the design with CSS Grid, but a fallback layout with floats is outlined in the Support section below.
Markup
Essentially, the page content consists of a list of cards:
<ul class="grid">
<li class="card header">
<h1>Which foods do you like?</h1>
<p>Tell us what you crave for and we'll get you the tasty bits</p>
</li>
<li class="card">
<a href="...">
<h2>Pizza</h2>
<img src="..." alt="A salami pizza">
</a>
</li>
<!-- ... -->
</ul>
A card that represents a topic proposed to the user (food in our example) has a title and an illustrative image, both wrapped in a link element. Others could be adopted; see for instance the excellent article on the card component on Inclusive Components, where the pros and cons of such alternatives are analyzed.
Structural Layout
In this section, the foundations of the grid design will be implemented. The next section will style the cards. This Pen shows the bare-bones layout using placeholders for grid items. Run it on a browser that supports CSS Grid.
See the Pen JBqgGm by SitePoint (@SitePoint) on CodePen.
Before going ahead with the code, it’s important to specify the features and the responsive behavior of the grid. Let’s try to write down some properties it must satisfy.
Design Specs
Two kinds of cards are featured in the design: a series of topic cards, and an introductory cover card. We arrange them on an underlying grid composed of square cells of fixed size. Each topic card occupies just one of these cells, while the cover spans a larger area of adjacent cells, whose extent depends on the viewport width. Furthermore, rows and columns are separated by the same fixed-size gutter.
The grid has as many (fixed-sized) columns as they fit into the viewport:
But we don’t want a zillion columns on large screens, so let’s limit the maximum number of columns:
The columns are always horizontally centered in the viewport:
Only the columns are centered, not the grid items. This means that the cards on an incomplete row are aligned to the left of the grid, not at the center of the viewport:
Check out these requirements in the above Pen. Also, it’s useful to inspect the layout with the CSS Grid tools provided by some browsers, such as the Firefox’s Grid Inspector.
Keeping in mind this checklist, we can fire up our favorite development environment and start coding.
Implementation
Let’s introduce a couple of Sass global variables to represent the layout parameters defined in the specs, namely:
$item-size
for the size of the side of the grid cells$col-gutter
for the gutter between the tracks of the grid$vp-gutter
for a safety space to leave between the grid items and the viewport edges$max-cols
for the maximum number of columns the grid can have
We could use CSS custom properties for these variables, avoiding the need of a preprocessor and allowing us to edit them with the in-browser development tools and watch the changes happen instantly. But we’re going to use these values even for a fallback layout suitable for older browsers, where CSS variables aren’t supported. Moreover, we use expressions with these values even in media query selectors, where custom properties and the calc()
function aren’t fully available even on recent browsers:
$item-size: 210px;
$col-gutter: 10px;
$vp-gutter: $col-gutter;
$max-cols: 5;
We must establish a grid formatting context on the grid element:
.grid {
display: grid;
}
The grid-gap
property separates the grid tracks by the specified amount of space.
But these gutters are only inserted between the tracks and not before the first track and after the last one. A horizontal padding on the grid container prevents the columns from touching the viewport edges:
.grid {
grid-gap: $col-gutter;
padding: 0 $vp-gutter;
}
The columns of the grid can be defined with the grid-template-columns
property and the repeat
function with the auto-fill
value as the repetition number and the $item-size
variable for the track list argument:
.grid {
grid-template-columns: repeat(auto-fill, $item-size);
}
This tells the browser to fill the grid container (the .grid
element) width with as many fixed-size columns as possible, keeping account of the vertical gutters.
It’s worth pointing out that we could have used the auto-fit
mode, and in many combinations of viewport sizes and number of grid items we could not tell the difference with auto-fill
. But when there are only a few items in the grid, with just an incomplete row, with auto-fit
the items would be centered, instead of starting from the left of the grid, as detailed in the design specs. This happens because, while with auto-fill
the grid has always as many columns as possible, with auto-fit
empty columns are removed, and the centering of the remaining columns places the items at the center of the viewport:
If the first row of the grid is complete, no columns are removed and there’s no difference between the two modes:
Back to the grid columns. Up to this point, the number of columns had no limit. It can arbitrarily grow as the viewport width increases. But according to the spec, the grid must have a maximum number of columns. It’s possible to fix this with the max-width
property:
.grid {
max-width: grid-width($max-cols);
}
grid-width
is a custom Sass function that returns the width of a grid with n columns:
@function grid-width($num-cols) {
@return $num-cols * $item-size + ($num-cols - 1) * $col-gutter;
}
The first multiplication accounts for the size required by the columns, while the second one represents the space required by the gutters.
According to the specs, the grid must be always horizontally centered. We can combine the old auto margins trick with justify-content
to accomplish this task:
.grid {
justify-content: center;
margin: 40px auto;
}
justify-content
centers the columns when there’s available space left inside the grid container. This happens when the container bleeds from one viewport edge to the other. The lateral auto margins center the .grid
container itself when it has reached its maximum width.
Now for the rows. They’re not explicitly specified, as done with the columns. Rather, they’re implicitly added by the browser as needed, and we just tell it their size with the grid-auto-rows
property. Reusing the $item-size
variable, each grid cell is shaped like a square, as per the specs:
.grid {
grid-auto-rows: $item-size;
}
Let’s move on by sizing the cards. On small viewports, when the grid configures itself on a single column, the cover card spans only a grid cell, while when there are two or more columns, it must span a 4x4 grid area:
@include when-n-cols(2) {
.grid .header {
grid-row: span 2;
grid-column: span 2;
}
}
when-n-cols()
is a Sass mixin to express a media query suitable for a grid with the given number of columns:
@mixin when-n-cols($n) {
@media screen and (min-width: #{grid-width($n) + 2 * $vp-gutter + $scrollbar-size}) {
@content;
}
}
The CSS rules represented by @content
are active whenever the viewport width is equal or greater than the width of a grid with $n
columns plus the two safety spaces to separate the grid items from the viewport edges. $scrollbar-size
is just an upper bound on the size of a vertical scrollbar, to account for the fact that the width reported in the media query is the entire viewport width, including an eventual vertical scrollbar.
Regarding the topic cards, there’s nothing to do, because the default Grid behavior makes them the same size as their assigned grid cells.
Okay, we got it! Refer to the structural Pen at the beginning of this section to see all these code snippets put together in the complete code.
The post Redesigning a Card-based Tumblr Layout with CSS Grid appeared first on SitePoint.
by Giulio Mainardi via SitePoint
Navigation Menu Style 46
The post Navigation Menu Style 46 appeared first on Best jQuery.
by Admin via Best jQuery
Link Hover Style 33
The post Link Hover Style 33 appeared first on Best jQuery.
by Admin via Best jQuery
hy-drawer : Touch-enabled Drawer Component
hy-drawer is a touch-enabled drawer component for the modern web. It focuses on providing a fun, natural feel in both the Android and iOS stock browser, while being performant and easy to use. It is the perfect companion for mobile-first web pages and progressive web apps.
The post hy-drawer : Touch-enabled Drawer Component appeared first on Best jQuery.
by Admin via Best jQuery
Splitting : JavaScript microlibrary to Split an element by Words & Characters
Splitting is a JavaScript microlibrary to split an element by words, characters, children and more, populated with CSS variables!
Most Splitting methods utilize a series of <span>
s populated with CSS variables and data attributes unlocking transitions and animations that were previously not feasible with CSS.
The post Splitting : JavaScript microlibrary to Split an element by Words & Characters appeared first on Best jQuery.
by Admin via Best jQuery