Unwanted borders in unordered list menu - css

I'm trying to figure out where the border on the horizontal menu items comes (based on a unordered list): http://developers.ttsistemi.com/clive/
I've tried everything.
I've even tried to set the border (and just in case the background, padding and margin) to none/transparent/0, to main element and it children, but I still get this annoying border (you can barely see it, but is there, between all menu items).
The site is in WordPress and uses a Required+ child theme (based on Zurb's Foundation).
I've spend something like 4 hours trying to find where this border comes from (inspecting the CSS with Chrome's developer tools) but I'm stuck. I just don't see any border setting leftover: everything that might have been set by the parent theme should be everything overridden by now.

1) For .navbar > li delete these properties that are currently set:
.navbar > li {
box-shadow: 1px 0 0 rgba(255, 255, 255, 0.2) inset; /* Delete */
border-width: 1px medium 1px 1px; /* Delete */
border-style: solid none solid solid; /* Delete */
border-color: #333333 -moz-use-text-color #333333 #333333; /* Delete */
2) Because your last <li> is selected using the :last-child pseudo-selector you must change it separately or else you'll have a border on the last menu-item. So remove:
.navbar > li:last-child {
border-right: 1px solid #333333; /* Delete */
box-shadow: 1px 0 0 rgba(255, 255, 255, 0.2) inset,
1px 0 0 rgba(255, 255, 255, 0.2); /* Delete */
Here is the screenshot showing the missing borders/box-shadow
http://img38.imageshack.us/img38/5845/menu2b.jpg

I have take a look and just don't know what border do you want to remove, maybe the border in the menu, I found it here:
.home #container #content-wrapper #access {
font-family: 'Museo Slab';
width: 100%;
border-top: 1px solid black;
border-bottom: 1px solid black;
background-color: rgba(236, 236, 236, 0.5);
margin: 0;
padding: 0;
text-align: center;
}
in app.css line 101, remove this border it won't display anymore.
In Dark's answer, I checked it too:
I think the width of nav id="access" is incorrect, it should change like this:
.eight, .row .eight {
width: 38.66667%;
}
I saw your background-image on footer make the text hard to look, I recommend you should remove it or add a space for them.

Related

How do I apply a border to a <a> link?

I'm trying to add a red 2px border when a customer hovers over one of my three 'service widgets' on my website https://tomnicholls.co on the homepage. I can't figure out where to apply the code as I can't find a container? I can't even seem to add a regular border never mind a border on :hover.
I have tried applying code to .col-link & .col-link .custom-link and have also tried giving the column a class and applying code to that as well as giving the actual content block a class (btn-widget) and applying css to that but nothing seems to be working.
.btn-widget {
width: 328px !important;
margin-left: 72px !important;
border-left: 2px !important;
border-right: 2px !important;
border-top: 2px !important;
border-bottom: 2px !important;
border-color: #c92228 !important;
z-index: 1000;
color: #000000 !important;
}
I would like to solve the problem and have a border on hover
It worked with this :
a.col-link.custom-link:hover {
border: 2px solid red;
}

Overwriting CSS classes and ids

I'm using the Gantry Framework for WordPress and I'd like to completely remove the formatting. For example, this is some of the styling applied to one of the positions.
#rt-top-surround {
background-color: #363636;
background-image: -moz-linear-gradient(top,#3b3b3b,#2e2e2e);
background-image: -webkit-gradient(linear,0 0,0 100%,from(#3B3B3B),to(#2E2E2E));
background-image: -webkit-linear-gradient(top,#3B3B3B,#2E2E2E);
background-image: -o-linear-gradient(top,#3b3b3b,#2e2e2e);
background-image: linear-gradient(to bottom,#3B3B3B,#2E2E2E);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3b3b3b', endColorstr='#ff2e2e2e', GradientType=0);
color: #ADADAD;
text-shadow: 0 2px 3px #000;
-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 0 2px 4px rgba(0,0,0,0.4);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
border-bottom: 1px solid #000;
}
What I do to get rid of it (in the child style.css file) is the following:
#rt-top-surround {
background-color: #AAA89C;
background-image: none;
background-repeat: inherit;
filter: progid: none;
color: inherit;
border-bottom: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
text-shadow: none;
}
Is there a better way? Maybe a catch all way of removing the styling? I can't remove it from the main style.css file as any future updates would bring it back.
I'm fine with the way that I am handling it, I guess I'm just wondering if there is an easier way to overwrite styles like this?
EDIT
Seems to be some confusion, sorry for not being clear. I guess I'm looking for something like the CSS all shorthand property that resets all attributes. So instead of having to write out each attribute and set it to the default, I would only have to write
#rt-top-surround {
all: initial;
}
And that would save me a bunch of coding. I don't think this property is quite ready to go yet, though.
You should be able to create another style sheet and set it to take priority over all other style sheets. override.css Please see the link below; I would suggest option 2.
http://wordpress.org/support/topic/overriding-all-other-stylesheets
You can use "!important" property. For example ..
#rt-top-surround {
background-image: none !important;
}
This will override the main Stylesheet. You can place this into a separate override.css file.
Read about "!important" here: http://webdesign.about.com/od/css/f/blcssfaqimportn.htm

How to remove blue outline of select option in Twitter Bootstrap

I am working on this example and am seeking how to get rid of that blue outline for drop-down select button and the Search inbox inside the drop down menu. See this image:
I already tried:
.btn-default {
outline: none !important;
box-shadow: none !important;
background-color: transparent !important;
background-image: none !important;
}
input, textarea, select, a { outline: none !important; }
input:focus, textarea:focus, select:focus{ outline: none; }
but they are not doing the trick.
Bootstrap form input elements do not use the outline property, but rather recreate it using box-shadow. You were on the right track with what you were doing, but the style that causes this is the following:
.form-control:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
}
You will want to override those styles with your own, setting the box-shadow to none and adjusting the border-color to match your default.
As for the select box, you can use the following style, as was originally mentioned by #kamlesh-kushwaha, to override the bootstrap setting:
.bootstrap-select .btn:focus {
outline: none !important;
}
For <select> dropdown, change in bootstrap-select.min line 29:
.bootstrap-select .dropdown-toggle:focus {
outline: thin dotted #333 !important;
outline: 5px auto -webkit-focus-ring-color !important;
outline-offset: -2px;}
to:
.bootstrap-select .dropdown-toggle:focus {
outline: none!important;
}
I remove bootstrap 4 dropdown-toggle 'on click' blue borders by doing this:
.yourdivname:focus {
box-shadow: none;
}
Anything else seemed to be irrelevant. For instance, with normal buttons {outline: none} always seemed to work, but not for this element. All that was needed was the box-shadow:none property.
Add the css focus rule or modify the existing one.
.bootstrap-select .btn:focus{outline:none!important;}
Similarly, you can add for select
You can use input[type] {}
All bootstrap input type as below
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
border-color: rgba(126, 239, 104, 0.8);
/* give your style */
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) inset, 0 0 8px rgba(255, 0, 0, 0.6);
/* give your style */
outline: 0 none;
/* give your style */
}
select:focus {
outline-color: transparent;
}
Bootstrap or not, you can remove the the outline from a select tag with with:
select:focus {
box-shadow: none;
}

Inner text shadow with CSS

I am currently playing around with CSS3 and trying to achieve a text effect like this (the black blurry inner shadow):
But I cannot find a way to create text shadows inside the text. I wonder whether it is still possible because the box-shadow element is able to render shadow inside like this:
box-shadow: inset 0px -5px 10px 0px rgba(0, 0, 0, 0.5);
Any ideas?
Here's a little trick I discovered using the :before and :after pseudo-elements:
.depth {
color: black;
position: relative;
}
.depth:before, .depth:after {
content: attr(title);
color: rgba(255,255,255,.1);
position: absolute;
}
.depth:before { top: 1px; left: 1px }
.depth:after { top: 2px; left: 2px }
The title attribute needs to be the same as the content. Demo: http://dabblet.com/gist/1609945
You should be able to do it using the text-shadow, erm somethink like this:
.inner_text_shadow
{
text-shadow: 1px 1px white, -1px -1px #444;
}
here's an example: http://jsfiddle.net/ekDNq/
An elegant example without the need for a positioned wrapper or duplicative content in the markup:
:root {
background: #f2f2f2;
}
h1 {
background-color: #565656;
font: bold 48px 'Futura';
color: transparent;
text-shadow: 0px 2px 3px rgba(255, 255, 255, 0.8);
-webkit-background-clip: text;
-moz-background-clip: text;
background-clip: text;
}
<center>
<h1>Text With Inner Shadow</h1>
</center>
Looks good on dark backgrounds as well:
:root {
--gunmetal-gray: #2a3439;
background: var(--gunmetal-gray);
}
h1[itemprop="headline"] {
font-family: 'Futura';
font-size: 48px;
padding-bottom: 0.35rem;
font-variant-caps: all-small-caps;
background-color: var(--gunmetal-gray);
color: transparent;
text-shadow: 0px 2px 3px rgba(255, 255, 255, 0.1);
-webkit-background-clip: text;
-moz-background-clip: text;
background-clip: text;
filter: brightness(3);
}
<center>
<h1 itemprop="headline">Text With Inner Shadow</h1>
</center>
AND ME LINK
AND ME2 LINK
Here's my best try:
.inner_shadow {
color:transparent;
background-color:white;
text-shadow: 0 0 20px rgba(198,28,39,0.8), 0 0 0 black;
font-family:'ProclamateHeavy'; // Or whatever floats your boat
font-size:150px;
}
<span class="inner_shadow">Inner Shadow</span>
The problem is how to clip the shadow that bleeds around the edges!!! I tried in webkit using background-clip:text, but webkit renders the shadow above the background so it doesn't work.
Making a Text Mask with CSS?
Without a top mask layer it is impossible to do a true inner shadow on text.
Perhaps someone should recommend that the W3C add background-clip: reverse-text, that would cut a mask through the background instead of cutting the background to fit inside the text.
Either that or render the text-shadow as part of the background and clip it with background-clip: text.
I tried absolutely positioning an identical text element above it, but the problem is background-clip: text crops the background to fit inside the text, but we need the reverse of that.
I tried using text-stroke: 20px white; on both this element and the one above it, but the text stroke goes in as well as out.
Alternate Methods
Since there is currently no way to make an inverted-text mask in CSS, you could turn to SVG or Canvas and make a text replacement image with the three layers to get your effect.
Since SVG is a subset of XML, SVG text would still be select-able and searchable, and the effect can be produced with less code than Canvas.
It would be harder to achieve this with Canvas because it doesn't have a dom with layers like SVG does.
You could produce the SVG either server-side, or as a javascript text-replacement method in the browser.
Further Reading:
SVG versus Canvas:
http://dev.opera.com/articles/view/svg-or-canvas-choosing-between-the-two/
Clipping and Masking with SVG Text:
http://www.w3.org/TR/SVG/text.html#TextElement
More precise explanation of the CSS in kendo451's answer.
There's another way to get a fancy-hacky inner shadow illusion,
which I'll explain in three simple steps. Say we have this HTML:
<h1>Get this</h1>
and this CSS:
h1 {
color: black;
background-color: #cc8100;
}
Step 1
Let's start by making the text transparent:
h1 {
color: transparent;
background-color: #cc8100;
}
Step 2
Now, we crop that background to the shape of the text:
h1 {
color: transparent;
background-color: #cc8100;
background-clip: text;
}
Step 3
Now, the magic: we'll put a blurred text-shadow, which will be in front
of the background, thus giving the impression of an inner shadow!
h1 {
color: transparent;
background-color: #cc8100;
background-clip: text;
text-shadow: 0px 2px 5px #f9c800;
}
See the final result.
Downsides?
Only works in Webkit (background-clip can't be text).
Multiple shadows? Don't even think.
You get an outer glow too.
There's no need for multiple shadows or anything fancy like that, you just have to offset your shadow in the negative y-axis.
For dark text on a light background:
text-shadow: 0px -1px 0px rgba(0, 0, 0, .75);
If you have a dark background then you can simply invert the color and y-position:
text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.75);
Play around with the rgba values, the opacity, and the blur to get the effect just right. It will depend a lot on what color font and background you have, and the weightier the font, the better.
You can kind of do this. Unfortunately there's no way to use an inset on text-shadow, but you can fake it with colour and position. Take the blur right down and arrange the shadow along the top right. Something like this might do the trick:
background-color:#D7CFBA;
color:#38373D;
font-weight:bold;
text-shadow:1px 1px 0 #FFFFFF;
... but you'll need to be really, really careful about which colours you use otherwise it will look off. It is essentially an optical illusion so won't work in every context. It also doesn't really look great at smaller font sizes, so be aware of that too.
Try this little gem of a variation:
text-shadow:0 1px 1px rgba(255, 255, 255, 0.5);
I usually take "there's no answer" as a challenge
I've seen many of the proposed solutions, but none were quite what I was hoping.
Here's my best hack at this, where the color is transparent, the background and the top text-shadow are the same color with varying opacities, simulating the mask, and the second text-shadow is a darker, more saturated version of the color you actually want (pretty easy to do with HSLA).
(btw, text and styling based upon a dupe thread's OP)
I've had a few instances where I've needed inner shadows on text, and the following has worked out well for me:
.inner {
color: rgba(252, 195, 67, 0.8);
font-size: 48px;
text-shadow: 1px 2px 3px #fff, 0 0 0 #000;
}
This sets the opacity of the text to 80%, and then creates two shadows:
The first is a white shadow (assuming the text is on a white background) offset 1px from the left and 2px from the top, blurred 3px.
The second is a black shadow which is visible through the 80% opacity text but not through the first shadow, which means it's visible inside the text letters only where the first shadow is displaced (1px from the left and 2px from the top). To change the blur of the this visible shadow, modify the blur parameter for the first layer shadow.
Caveats
This will only work if the desired color of the text can be achieved without it having to be at 100% opacity.
This will only work if the background color is solid (so, it won't work for the questioner's specific example where the text sits on a textured background).
Here is a link talking about how to do this, it should be what you are looking for:
http://sixrevisions.com/css/how-to-create-inset-typography-with-css3/
This looks like it's working: http://tips4php.net/2010/08/nice-css-text-shadow-effects/
He's using multiple shadows to achieve that effect as explained here: http://www.w3.org/Style/Examples/007/text-shadow#multiple
Seems everyone's got an answer to this one. I like the solution from #Web_Designer. But it doesn't need to be as complex as that and you can still get the blurry inner shadow you're looking for.
http://dabblet.com/gist/3877605
.depth {
display: block;
padding: 50px;
color: black;
font: bold 7em Arial, sans-serif;
position: relative;
}
.depth:before {
content: attr(title);
color: transparent;
position: absolute;
text-shadow: 2px 2px 4px rgba(255,255,255,0.3);
}
This is easily the best example I have seen.
http://lab.simurai.com/carveme/
The source is on gitthub
https://github.com/simurai/lab/tree/gh-pages/carveme
Building on the :before :after technique by web_designer, here is something that comes closer to your look:
First, make your text the color of the inner shadow (black-ish in the case of the OP).
Now, use an :after psuedo class to create a transparent duplicate of the original text, placed directly on top of it. Assign a regular text shadow to it with no offset. Assign the original text color to the shadow, and adjust alpha as needed.
http://dabblet.com/gist/2499892
You don't get complete control over spread, etc. of the shadow like you do in PS, but for smaller blur values it is quite passable. The shadow goes past the bounds of the text, so if you are working in an environment with a high contrast background-foreground, it will be obvious. For lower contrast items, especially ones with the same hue, it's not too noticeable. For example, I've been able to make very nice looking etched text in metal backgrounds using this technique.
Here's a great solution for TRUE inset text shadow using the background-clip CSS3 property:
.insetText {
background-color: #666666;
-webkit-background-clip: text;
-moz-background-clip: text;
background-clip: text;
color: transparent;
text-shadow: rgba(255,255,255,0.5) 0px 3px 3px;
}
Here's what I came up with after looking at some of the ideas here. The main idea is that the color of the text blends with both shadows, and note that this is being used on a grey background (otherwise the white won't show up well).
.inset {
color: rgba(0,0,0, 0.6);
text-shadow: 1px 1px 1px #fff, 0 0 1px rgba(0,0,0,0.6);
}
There's a much simpler way to achieve this
.inner{color: red; text-shadow: 0 -1px 0 #666;} // #666 is the color of the inner shadow
Voilà
For normal-sized text on small-ish buttons
I found the other ideas on this page to lose their efficacy when used on small buttons with small text lettering. This answer expands on RobertPitt's answer.
Here is the minor tweak:
text-shadow: 1px 1px transparent, -1px -1px black;
$('button').click(function(){
$('button').removeClass('btnActive');
$(this).addClass('btnActive');
});
body{background:#666;}
.btnActive{
border: 1px solid #aaa;
border-top: 1px solid #333;
border-left: 1px solid #333;
color: #ecf0f8;
background-color: #293d70;
background-image: none;
text-shadow: 1px 1px transparent, -1px -1px black;
outline:none;
}
button{
border: 1px solid #446;
border-radius: 3px;
color: white;
background-color: #385499;
background-image: linear-gradient(-180deg,##7d94cf,#1c294a 90%);
cursor: pointer;
font-size: 14px;
font-weight: 600;
padding: 6px 12px;
xxtext-shadow: 1px 1px 2px navy;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="btnActive">Option One</button>
<button>Option Two</button>
Note:
I used this site to finesse the color shades.
text-shadow: 4px 4px 2px rgba(150, 150, 150, 1);
for box shadow:
-webkit-box-shadow: 7px 7px 5px rgba(50, 50, 50, 0.75);
-moz-box-shadow: 7px 7px 5px rgba(50, 50, 50, 0.75);
box-shadow: 7px 7px 5px rgba(50, 50, 50, 0.75);
you can see online text and box shadow:
online text and box shadow
for more example you can go to this address :
more example code freeclup
Try this example for inset text shadow. Here's the HTML
<h1 class="inset-text-shadow">Inset text shadow trick</h1>
and the CSS
body {
background: #f8f8f8;
}
h1 {
font-family: Helvetica, Arial, sans-serif;
font-weight: bold;
font-size: 6em;
line-height: 1em;
}
.inset-text-shadow {
/* Shadows are visible under slightly transparent text color */
color: rgba(0,0,0,0.6);
text-shadow: 2px 8px 6px rgba(0,0,0,0.2), 0px -5px 35px rgba(255,255,255,0.3);
}
Demo on Jsfiddle
I'm using it from this site, also it looks good. Have a look at it Inner shadow

webkit css transitions

Trying out some webkit transitions on a site and have come across a problem. The hover state on my links adds a 1px border and decreases the padding so that the positioning stays the same. Works fine normally, but not when I add the transition. Obviously, as I'm only making 1px changes, it happens abruptly, but it doesn't happen at the same time - the padding changes before the border, so the whole thing 'jiggles'.
#loginbuttons a {
text-decoration: none;
padding: 5px;
-webkit-transition: all 0.5s ease;
}
#loginbuttons a:hover {
padding: 4px;
border: 1px solid black;
background-color: yellow;
}
The best way I've found to get around this is to have a white border on the normal state so that it's only changing the color, but I want it to be transparent. Also, is there any way of fading the background color in from white instead of black without setting a white background color? Again, I want it to be transparent, but it just looks weird going gray and then yellow!
I've got transitions on my navigation menu as well, and the same thing happens (this time altering the padding and margin):
#nav ul li a {
color: white;
padding: 10px 10px 8px 10px;
margin: 0 5px;
border: 1px solid black;
opacity: 0.85;
-webkit-transition: all, 0.5s;
}
#nav ul li a:hover, #nav ul li a.selected {
color: black;
padding: 13px 13px 11px 13px;
margin: 0 2px;
text-shadow: 2px 2px 4px white, -2px -2px 4px white, 2px -2px 4px white, -2px 2px 4px white;
opacity: 1;
-webkit-box-shadow: 0px 0px 8px #888;
}
Hmmm, just tried bumping the values up a bit, and even changing the margin and padding by 15px using a linear transition still produces a small (looks like 1 or 2px) glitch. Same thing happens in safari and chrome.
Anyone got any ideas how to make it smooth? Or sort out the color issue? Think it would be better doing it with jquery (ignoring the cross-browser support!)? Might go and see if the same thing happens with opera...
edit: seems like the 10.5a opera release for macs still doesn't support transitions...
First of all, it might be worthy to try border: 1px solid transparent so that the transition changes only the color of the border. In that sense the padding stays the same and there is less browser guesswork. If transparent does not work, any color with an alpha value of 0, for example, rgba(0, 0, 0, 0) is also acceptable.
Opera Presto 2.3 supports transitions, but it asks for different statements — -o-transition-property et al. Hope that this link would be of good use. Firefox does CSS transitions too, and they have a demo page. To make transitions work in Firefox, one must use -moz- statements.

Resources